Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Gemini/Blueprint/Releasing"
Olaf.x100.de (Talk | contribs) (Added more links to the publish information) |
Olaf.x100.de (Talk | contribs) (Updated with regard to new release infrastructure) |
||
Line 1: | Line 1: | ||
− | == | + | == Releasing Gemini Blueprint 2.x == |
− | + | Pre-req's: JDK 1.7. Maven 3.0.x. | |
− | + | === Step 1 - update version === | |
− | + | ||
− | + | ||
− | + | ||
− | Step 1 - update version | + | |
+ | #Switch to release branch, e.g. release-2.0.1 | ||
#update changelog and its version/date | #update changelog and its version/date | ||
#if blueprint schema needs to be changed: | #if blueprint schema needs to be changed: | ||
Line 16: | Line 13: | ||
##update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema | ##update xml files in META-INF/spring which refer to the latest version of the eclipse-gemini-blueprint.xsd schema | ||
# branch the git repo | # branch the git repo | ||
− | #mvn versions:set -DnewVersion=2.0. | + | #mvn versions:set -DnewVersion=2.0.1.M1 |
#find . -name "*.versionsBackup" -exec rm {} \; | #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 | #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 | ||
Line 22: | Line 19: | ||
#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 | #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 | + | === Step 2 - build and test === |
#Build and test using: | #Build and test using: | ||
Line 29: | Line 26: | ||
##mvn clean install -Pit,equinox | ##mvn clean install -Pit,equinox | ||
− | + | === Step 3 - stage release === | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | Step | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | == | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | #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 | + | === 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 14:20, 7 May 2016
Contents
Releasing Gemini Blueprint 2.x
Pre-req's: JDK 1.7. Maven 3.0.x.
Step 1 - update version
- Switch to release branch, e.g. release-2.0.1
- 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
- Build and test using:
- mvn clean install -Pit,felix
- mvn clean install -Pit,knopflerfish
- mvn clean install -Pit,equinox
Step 3 - stage release
- 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.