Dear Wiki user, You have subscribed to a wiki page or wiki category on "Hadoop Wiki" for change notification.
The "HowToReleasePostMavenizationWithGit" page has been changed by karthikkambatla: https://wiki.apache.org/hadoop/HowToReleasePostMavenizationWithGit?action=diff&rev1=55&rev2=56 ## page was copied from HowToReleasePostMavenization - ''This page is prepared for Hadoop Core committers. You need committer rights + ''This page is prepared for Hadoop Core committers. You need committer rights to create a new Hadoop Core release.'' - to create a new Hadoop Core release.'' - These instructions have been updated for Hadoop 0.23.x, 2.x, and later releases. For earlier releases, please see the previous version of this page, HowToRelease. + These instructions have been updated for Hadoop 2.5.1 and later releases to reflect the changes to version-control (git), build-scripts and mavenization. + + Earlier versions of this document are at HowToRelease and HowToReleasePostMavenization <<TableOfContents(4)>> @@ -66, +67 @@ Now, for any branches in {trunk, branch-X, branch-X.Y, branch-X.Y.Z} that have changed, push them to the remote repo taking care of any conflicts. {{{ git push <remote> <branch> - }}}. + }}} - = Creating the release candidate (X.Y.Z-RCn) = + = Creating the release candidate (X.Y.Z-RC<N>) = - These steps need to be performed to create the ''n''th RC for X.Y.Z, where ''n'' starts from 0. + These steps need to be performed to create the ''N''th RC for X.Y.Z, where ''N'' starts from 0. - 1. Run mvn rat-check: {{{ + 1. Run mvn rat-check and fix any errors {{{ mvn apache-rat:check - }}}(Fix any errors in rat.txt in the appropriate maven module.) + }}} + 1. Set environment variable version for later steps. {{{export version=X.Y.Z-RCN}}} 1. Set the release date for X.Y.Z to the current date in each CHANGES.txt file in branch-X.Y.Z and commit the changes. {{{ - git commit -a -m "Set the release date for X.Y.Z-RCn"}}} + git commit -a -m "Set the release date for $version"}}} 1. Tag the release candidate: {{{ - git tag -s X.Y.Z-RCn -m "Release candidate n for X.Y.Z"}}} + git tag -s release-$version -m "Release candidate - $version"}}} 1. Push branch-X.Y.Z and the newly created tag to the remote repo. - 1. Deploy the maven artifacts {{{ - $ mvn clean deploy -Psign,src,dist -Dgpg.passphrase=<your-gpg-passphrase>}}}. Remember to clear your history file as your gpg-passphrase is in clear text. + 1. Deploy the maven artifacts. (You might want to do this in private and clear your history file as your gpg-passphrase is in clear text) {{{ + mvn clean deploy -Psign,src,dist -Dgpg.passphrase=<your-gpg-passphrase>}}} 1. Use [[https://builds.apache.org/job/HADOOP2_Release_Artifacts_Builder|this Jenkins job]] to build the artifacts 1. Check that release file looks ok - e.g. install it and run examples from tutorial. 1. Generate the checksums of the release file. {{{ - $ gpg --print-mds hadoop-${version}-src.tar.gz > hadoop-${version}-src.tar.gz.mds + gpg --print-mds hadoop-${version}-src.tar.gz > hadoop-${version}-src.tar.gz.mds - $ gpg --print-mds hadoop-${version}.tar.gz > hadoop-${version}.tar.gz.mds}}} + gpg --print-mds hadoop-${version}.tar.gz > hadoop-${version}.tar.gz.mds}}} 1. Sign the release {{{ - $ gpg --armor --output hadoop-${version}-src.tar.gz.asc --detach-sig hadoop-${version}-src.tar.gz + gpg --armor --output hadoop-${version}-src.tar.gz.asc --detach-sig hadoop-${version}-src.tar.gz - $ gpg --armor --output hadoop-${version}.tar.gz.asc --detach-sig hadoop-${version}.tar.gz}}} + gpg --armor --output hadoop-${version}.tar.gz.asc --detach-sig hadoop-${version}.tar.gz}}} 1. Copy release files to a public place. {{{ - $ ssh people.apache.org mkdir public_html/hadoop-${version} + ssh people.apache.org mkdir public_html/hadoop-${version} - $ scp -p hadoop-${version}.tar.gz* people.apache.org:public_html/hadoop-${version} + scp -p hadoop-${version}.tar.gz* people.apache.org:public_html/hadoop-${version} }}} 1. Log into [[https://repository.apache.org|Nexus]], select {{{Staging}}} from the left navigation pane, right-click on the pushed repository, and {{{close}}} the release. 1. Call a release vote on common-dev at hadoop.apache.org. = Publishing = - In 7 days if [[http://hadoop.apache.org/bylaws#Decision+Making|the release vote passes]], the release may be published. + In 5 days if [[http://hadoop.apache.org/bylaws#Decision+Making|the release vote passes]], the release may be published. + 1. Update the release date in CHANGES.txt of trunk, branch-X, branch-X.Y to reflect the one in branch-X.Y.Z. Commit and push those changes. {{{ + git commit -a -m "Set the release date for X.Y.Z"}}} - 1. Tag the release: {{{ + 1. Tag the release: {{{ + git tag -s release-X.Y.Z -m "Hadoop X.Y.Z release"}}} - svn move https://svn.apache.org/repos/asf/hadoop/common/tags/release-X.Y.Z-rcR \ - https://svn.apache.org/repos/asf/hadoop/common/tags/release-X.Y.Z -m "Hadoop X.Y.Z release." - }}} 1. Copy release files to the distribution directory and make them writable by the hadoop group. {{{ ssh people.apache.org cp -pr public_html/hadoop-${version}-candidate-0 /www/www.apache.org/dist/hadoop/core/hadoop-${version} @@ -135, +137 @@ firefox publish/index.html svn commit -m "Updated site for release X.Y.Z." }}} - - 1. Send announcements to the user and developer lists once the site changes are visible. 1. In Jira, ensure that only issues in the "Fixed" state have a "Fix Version" set to release X.Y.Z. 1. In Jira, "release" the version. Visit the "Administer Project" page, then the "Manage versions" page. You need to have the "Admin" role in Hadoop Core's Jira for this step and the next.
