-
Notifications
You must be signed in to change notification settings - Fork 2
Performing release
ApAM has two public repositories, one containing the released versions and another the snapshots (nightly build).
The release is performed by its developers regularly when the project manager feels like we have a baseline which can be published and is stable enough.
These are the two repositories available so the ApAM dependencies can be fetched.
...
<repository>
<id>cloudbees-ApAM-release</id>
<name>Cloudbees Private Repository - ApAM - Release </name>
<url>https://repository-apam.forge.cloudbees.com/release/repository/</url>
</repository>
<repository>
<id>cloudbees-ApAM-snapshot</id>
<name>Cloudbees Private Repository - ApAM - Snapshot</name>
<url>https://repository-apam.forge.cloudbees.com/snapshot/repository/</url>
</repository>
...In order to perform a release you must to:
- Github account with access to ApAM
- Cloudbees account
- All the unit tests are finishing with success
With that in hands you just need to set those information into maven settings so they can be used later on by the maven-release-plugin.
Create a file named settings.xml in $HOME/.m2/settings.xml and change it accordingly filling up the placeholders for your usernames and passwords
<settings>
<servers>
<server>
<id>github</id>
<username><!-- put here your github username--></username>
<password><!-- put here your github password--></password>
</server>
<server>
<id>cloudbees-private-snapshot-repository</id>
<username><!-- put here your CB username(not email)--></username>
<password><!-- put here your CB password(not email)--></password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
<server>
<id>cloudbees-private-release-repository</id>
<username><!-- put here your CB username(not email)--></username>
<password><!-- put here your CB password(not email)--></password>
<filePermissions>664</filePermissions>
<directoryPermissions>775</directoryPermissions>
</server>
</servers>
</settings>- Make sure that all resolved issues are marked as such at issues track
- Make sure that all resolved issues have the right milestone assigned at issues track
- Check that all the unit tests resulting PASS at cloudbees
The release process, it happens in two stages, prepare and perform.
Run the following command at the ApAM source root folder:
- mvn release:prepare -Pcomplete # filling up all the information requested (if necessary to skip tests add -Darguments='-Dmaven.test.skip=true')
- The prepare seems to fails sometimes (new version is not installed in local repository), mvn install -Pcomplete then mvn release:clean and then restarting the mvn release:prepare should do the trick.
- mvn release:perform -Pcomplete # just wait so the all components are uploaded property (if necessary to skip tests add -Darguments='-Dmaven.test.skip=true')
- This one also fails when releasing a new version of the plugin, build with mvn install -Plocal before restarting the mvn release:perform
If everything is well configured (the github and cloudbees account) you should have no problems at this points.
This is the checklist to be strictly followed to make sure your release was correctly performed:
- Verify that your packages have been successfully installed in the release repository
- Check that the released tag has been published at github tags
- Update the github mainpage with the new version release and the reference for the resolved issued
- Create a new milestone for the next release here
- Check that the basic distribution has been deployed in here
- Update site https://github.com/AdeleResearchGroup/ApAM/wiki/APAM-setup-guide to contains the right url for the tarball
- Send e-mail to appsgate.lig@imag.fr announcing the release