Skip to main content
Jump to: navigation, search

Difference between revisions of "Gemini/Blueprint/Releasing"

m (Step 4 - publish the release (or drop it))
(Updated with regard to the changed release process)
Line 1: Line 1:
 
== Releasing Gemini Blueprint  2.x  ==
 
== Releasing Gemini Blueprint  2.x  ==
  
Pre-req's: JDK 1.7. Maven 3.0.x.  
+
Pre-req's: JDK 1.8. Maven 3.3.x.  
  
=== Step 1 - update version ===
+
=== Step 1 - execute staging release ===
 +
Execute the Hudson release staging build (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-stage-release/). After execution, test the staged artifacts.
 +
Go to https://oss.sonatype.org/ and switch to the nexus managed repositories:
  
#Switch to release branch, e.g. release-2.0.1
+
[[File:gemini-blueprint-releasing-nexus-managed-repos.png]]
#update changelog and its version/date
+
#if blueprint schema needs to be changed:  
+
##add the file gemini-blueprint-<version>.xsd to core/src/main/resources/org/eclipse/gemini/blueprint/config
+
##update the version attribute of the xsd:schema element of the above file
+
##update core/src/resources/main/resources/META-INF/schema (especially the aliases)
+
##update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema
+
# branch the git repo
+
#mvn versions:set -DnewVersion=2.0.1.M1
+
#find . -name "*.versionsBackup" -exec rm {} \;
+
#manually edit version in release/pom.xml docs/pom.xml integration-tests/bundles/embedded.ns.bundle/pom.xml and test-support/dependency-reduced-pom.xml
+
#check Spring version properties in main pom.xml: cat pom.xml | grep spring.*version
+
#find . -name "boot-bundles.properties" and update ignore.gemini.blueprint.version to 2.0.0.M01: e.g. find . -name "boot-bundles.properties" | grep -v target | xargs subl
+
  
=== Step 2 - build and test ===
+
There, select the orgeclipsegemini-[NNN] repository created by the build. Download and test the artifacts contained therein:
 +
- Are all expected release artifacts contained?
 +
- Are the artifacts versioned as expected?
  
#Build and test using:
+
=== Step 2 - publish the release (or drop it) ===
##mvn clean install -Pit,felix
+
##mvn clean install -Pit,knopflerfish
+
##mvn clean install -Pit,equinox
+
  
=== Step 3 - stage release ===
+
If  you are satisfied with the staged artifacts, copy the staging repo id (e.g., "orgeclipsegemini-1001" in /service/local/repositories/orgeclipsegemini-1001/content/). Provide this as a parameter to the Gemini Blueprint Release job (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-release/). This will irrevocably release the artifacts to maven central. In case you want to discard the staged artifacts execute the Gemini Blueprint Drop Staged Release Job (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-drop-staging-repository/) with the same repository ID.
 
+
#commit and push the changes to the release branch
+
#go to https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-stage-release/ and run the build, this will also run all integration tests for all environments. After a successful build, the release artifacts are located in a _stagin repository_ in maven central. This gives you the opportunity to take a look at the very artifacts that make up the release prior to releasing them. You can find the staging repo via a search in the sonatype oss nexus (https://oss.sonatype.org/).
+
 
+
=== Step 4 - publish the release (or drop it) ===
+
 
+
If  you are satisfied with the staged artifacts, copy the staging repo id (e.g., "orgeclipsegemini-1001" in /service/local/repositories/orgeclipsegemini-1001/content/). Provide this as a parameter to the Gemini Blueprint Release job (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-release/). This will irrevocably release the artifacts to maven central.
+
  
 
[[Category:Gemini Blueprint|Blueprint]]
 
[[Category:Gemini Blueprint|Blueprint]]

Revision as of 08:06, 16 March 2017

Releasing Gemini Blueprint 2.x

Pre-req's: JDK 1.8. Maven 3.3.x.

Step 1 - execute staging release

Execute the Hudson release staging build (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-stage-release/). After execution, test the staged artifacts. Go to https://oss.sonatype.org/ and switch to the nexus managed repositories:

Gemini-blueprint-releasing-nexus-managed-repos.png

There, select the orgeclipsegemini-[NNN] repository created by the build. Download and test the artifacts contained therein: - Are all expected release artifacts contained? - Are the artifacts versioned as expected?

Step 2 - publish the release (or drop it)

If you are satisfied with the staged artifacts, copy the staging repo id (e.g., "orgeclipsegemini-1001" in /service/local/repositories/orgeclipsegemini-1001/content/). Provide this as a parameter to the Gemini Blueprint Release job (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-release/). This will irrevocably release the artifacts to maven central. In case you want to discard the staged artifacts execute the Gemini Blueprint Drop Staged Release Job (https://hudson.eclipse.org/gemini/view/blueprint/job/gemini-blueprint-drop-staging-repository/) with the same repository ID.

Copyright © Eclipse Foundation, Inc. All Rights Reserved.