...
- You should have read the Apache Guide To Release Management During Incubation
- You must have shell access to people.apache.org
- You must have the following utilities installed on your local machine and available in your path:
Tasks that need to be performed for each release
1 | Make sure the #One time setup steps have been performed |
---|
2 | Update the POMs to remove "-SNAPSHOT" from the version |
---|
3 | Commit the POM changes |
---|
4 | Tag the release by making a SVN copy of the head or designated revision |
---|
| Code Block |
---|
svn copy -r ######
https://svn.apache.org/repos/asf/struts/struts2/trunk
https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_#
-m "Tag r###### as Struts #.#.#" |
|
5 | Assemble the release |
---|
| Code Block |
---|
mvn clean install site -P xwork,plugins,apps,all,pre-assembly
cd assembly
mvn assembly:assembly |
|
6 | Sign the release artifacts (in assembly/target/assembly/out ) |
---|
| Code Block |
---|
gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip
openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.mdr |
|
7 | pscp the artifacts and signatures to people.apache.org:/www/builds/struts/#.#.# |
---|
8 | Deploy the artifacts to our Maven repository |
---|
| Code Block |
---|
mvn deploy -P apps,plugins,pre-assembly |
|
| Prune any obsolete snapshots from p.a.o://www/people.apache.org/repos |
9 | Update the POMs to next version number and add the "-SNAPSHOT" suffix |
---|
10 | Commit the POM changes |
---|
11 | Deploy the new snapshot |
---|
| |
12 | Add the next version to our issue tracker for scheduling new features and fixes |
---|
One time setup
These setup steps only need to be performed on a particular machine once.
Tip |
---|
Developers using Linux workstations can skip over the references to PuTTY and Cygwin |
...
1 | Create a settings.xml under .m2 (in your Document and Settings folder in Windows) |
---|
| Code Block |
---|
<settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!-- Uncomment this when the 'central' repo on ibiblio is down
See: http://maven.apache.org/guides/mini/guide-mirror-settings.html -->
<!-- mirrors>
<mirror>
<id>ggi-project.org</id>
<url>http://ftp.ggi-project.org/pub/packages/maven2</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors -->
<servers>
<server>
<id>apache.snapshots</id>
<username>$USERNAME</username>
<privateKey>$PATH_TO_PRIVATE_KEY</privateKey>
<directoryPermissions>775</directoryPermissions>
<filePermissions>644</filePermissions>
</server>
<server>
<id>apache.releases<<id>people.apache.org</id>
<username>$USERNAME</username>
<privateKey>$PATH_TO_PRIVATE_KEY</privateKey>
<directoryPermissions>775</directoryPermissions>
<filePermissions>644</filePermissions>
</server>
</servers>
<profiles>
<profile>
<id>cargo-config</id>
<properties>
<cargo.tomcat5x.home>$PATH_TO_TOMCAT_5</cargo.tomcat5x.home>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>cargo-config</activeProfile>
</activeProfiles>
</settings>
|
|
Expose a copy of known hosts to Maven
1 | From cygwin, ssh to people.apache.org, save the public key if prompted, and exit |
---|
| cygwin will save the known hosts to your ~/.ssh folder, but the script cannot access it there (from Windows) |
2 | From cygwin (not Windows) create another .ssh folder at |
---|
3 | Copy the known_hosts file to the new .ssh folder |
---|
Tasks that need to be performed for each release
1 | Update the POMs to remove "-SNAPSHOT" from the version |
---|
2 | Commit the POM changes |
---|
3 | Tag the release by making a SVN copy of the head or designated revision |
---|
| Code Block |
---|
svn copy -r ######
https://svn.apache.org/repos/asf/struts/struts2/trunk
https://svn.apache.org/repos/asf/struts/struts2/tags/STRUTS_#_#_#
-m "Tag r###### as Struts #.#.#" |
|
4 | Assemble the release |
---|
| Code Block |
---|
mvn clean install site -P xwork,plugins,apps,all,pre-assembly
cd assembly
mvn assembly:assembly |
|
5 | Sign the release artifacts (in assembly/target/assembly/out ) |
---|
| Code Block |
---|
gpg --armor --output struts-#.#.#-all.zip.asc --detach-sig struts-#.#.#-all.zip
openssl md5 < struts-#.#.#-all.zip > struts-#.#.#-all.zip.mdr |
|
6 | pscp the artifacts and signatures to people.apache.org:/www/builds/struts/#.#.# |
---|
7 | Deploy the artifacts to our Maven repository |
---|
| Code Block |
---|
mvn deploy -P apps,plugins,pre-assembly |
|
| Prune any obsolete snapshots from p.a.o://www/people.apache.org/repos |
8 | Update the POMs to next version number and add the "-SNAPSHOT" suffix |
---|
9 | Commit the POM changes |
---|
10 | Deploy the new snapshot |
---|
| |
11 | Add the next version to our issue tracker for scheduling new features and fixes |
---|
Resources