11# Preparing your environment for a release
2- - Ensure you have access to publish to the repository on
3- [ Sonatype] ( https://oss.sonatype.org ) .
4- - See the section about Sonatype access.
5- - You need a GPG secret key. You need to publish it as well.
6- - See the section about setting up GPG.
7- - Ensure the SSH key you use on GitHub.com is available.
8- - e.g., ` ~/.ssh/id_rsa ` .
9- - Ensure an appropriate ` ~/.gitconfig ` is set up.
10- - The release process generates commits.
11- - Ensure you have the necessary dependencies available:
12- - e.g., ` apt-get install maven openjdk-8-jdk git-core gpg `
13- - Ensure [ hub] ( https://github.com/github.com/hub ) is set up and in your
14- ` PATH ` .
15- - An easy way to do this is get a release tarball and run ` ./install ` .
2+ - Ensure you have access to publish to the repository on
3+ [ Sonatype] ( https://oss.sonatype.org ) .
4+ - See the section about Sonatype access.
5+ - You need a GPG secret key. You need to publish it as well.
6+ - See the section about setting up GPG.
7+ - Ensure the SSH key you use on GitHub.com is available.
8+ - e.g., ` ~/.ssh/id_rsa ` .
9+ - Ensure an appropriate ` ~/.gitconfig ` is set up.
10+ - The release process generates commits.
11+ - Ensure you have the necessary dependencies available:
12+ - e.g., ` apt-get install maven openjdk-8-jdk git-core gpg `
13+ - Ensure [ hub] ( https://github.com/github.com/hub ) is set up and in your
14+ ` PATH ` .
15+ - An easy way to do this is get a release tarball and run ` ./install ` .
1616
1717
1818## Setting up Sonatype access
@@ -51,9 +51,9 @@ Put this information into `~/.m2/settings.xml` (Maven settings). Your
5151
5252Some links about Sonatype:
5353
54- * http://central.sonatype.org/pages/ossrh-guide.html
55- * http://central.sonatype.org/pages/releasing-the-deployment.html
56- * http://central.sonatype.org/pages/apache-maven.html
54+ * http://central.sonatype.org/pages/ossrh-guide.html
55+ * http://central.sonatype.org/pages/releasing-the-deployment.html
56+ * http://central.sonatype.org/pages/apache-maven.html
5757
5858
5959## Setting up GPG
@@ -94,47 +94,46 @@ Add this to ~/.gnupg/gpg-agent.conf:
9494# Releasing
9595
9696## Steps
97- - Ensure you can run ` mvn test ` and ` mvn package ` successfully. Run
98- ` mvn clean ` after.
99- - Ensure you have a clean checkout of ` master ` and that the subdirectory
100- ` .gh-pages ` either does not exist or is a clean checkout.
101- - We'll be generating commits.
102- - Set a version and a date in ` CHANGELOG.md ` and commit that.
103- - It gets used in the release process.
104- - Run ` ./dev-bin/release.sh `
105- - This will prompt you several times. Generally you need to say ` y ` or
106- ` n ` .
107- - You'll be prompted for your ssh key password, GPG key password, and
108- GitHub.com username and password several times depending on your
109- workspace.
110- - You may be prompted about "what is the next development version?". Hit
111- enter to use the default which should be fine.
112- - You may be prompted about "The following dependencies in Dependencies
113- have newer versions". See the section about updating dependencies if so.
114- - If you get HTTP 401 errors from Sonatype, you probably don't have a
115- correct ` settings.xml ` . Refer to the Sonatype section.
116- - If this happened, there are most likely pushed commits on GitHub.com.
117- You can potentially rebase and drop the commits and force push and
118- start over (you might want to talk about this before doing it). Note
119- you'll need to delete the release tag too:
120- ` git push origin :refs/tags/vx.y.z && git tag -d vx.y.z ` .
121- - If you get to this point, then a release is on GitHub.com and in the
122- staging repository on [ Sonatype] ( https://oss.sonatype.org ) .
123- - Go to [ Sonatype] ( https://oss.sonatype.org ) and log in.
124- - On the left hand side, choose Staging repositories.
125- - At the bottom you should see your staged release. It will be something
126- like "commmaxmind-xxxx". Click on that.
127- - Near the top of the page there is a "Close" button. Click it.
128- - You have to close a staging release before you can release it.
129- - Wait around 30 seconds. Click Refresh near the top of the page while
130- you wait. Eventually you should see the "Activity" line in the info
131- about your repository say something like it is complete.
132- - Click Release near the top.
133- - You're done!
134- - If you want to check things over, look at the commits on GitHub.com,
135- including to the ` gh-pages ` branch and release tags, and do an artifact
136- search on [ Sonatype] ( https://oss.sonatype.org ) to see the version is as
137- you expect.
97+ - Ensure you can run ` mvn test ` and ` mvn package ` successfully. Run
98+ ` mvn clean ` after.
99+ - Ensure you have a clean checkout of ` master ` and that the subdirectory
100+ ` .gh-pages ` either does not exist or is a clean checkout.
101+ - We'll be generating commits.
102+ - Set a version and a date in ` CHANGELOG.md ` and commit that.
103+ - It gets used in the release process.
104+ - Run ` ./dev-bin/release.sh `
105+ - This will prompt you several times. Generally you need to say ` y ` or ` n ` .
106+ - You'll be prompted for your ssh key password, GPG key password, and
107+ GitHub.com username and password several times depending on your
108+ workspace.
109+ - You may be prompted about "what is the next development version?". Hit
110+ enter to use the default which should be fine.
111+ - You may be prompted about "The following dependencies in Dependencies
112+ have newer versions". See the section about updating dependencies if so.
113+ - If you get HTTP 401 errors from Sonatype, you probably don't have a
114+ correct ` settings.xml ` . Refer to the Sonatype section.
115+ - If this happened, there are most likely pushed commits on GitHub.com.
116+ You can potentially rebase and drop the commits and force push and
117+ start over (you might want to talk about this before doing it). Note
118+ you'll need to delete the release tag too:
119+ ` git push origin :refs/tags/vx.y.z && git tag -d vx.y.z ` .
120+ - If you get to this point, then a release is on GitHub.com and in the
121+ staging repository on [ Sonatype] ( https://oss.sonatype.org ) .
122+ - Go to [ Sonatype] ( https://oss.sonatype.org ) and log in.
123+ - On the left hand side, choose Staging repositories.
124+ - At the bottom you should see your staged release. It will be something
125+ like "commmaxmind-xxxx". Click on that.
126+ - Near the top of the page there is a "Close" button. Click it.
127+ - You have to close a staging release before you can release it.
128+ - Wait around 30 seconds. Click Refresh near the top of the page while
129+ you wait. Eventually you should see the "Activity" line in the info
130+ about your repository say something like it is complete.
131+ - Click Release near the top.
132+ - You're done!
133+ - If you want to check things over, look at the commits on GitHub.com,
134+ including to the ` gh-pages ` branch and release tags, and do an artifact
135+ search on [ Sonatype] ( https://oss.sonatype.org ) to see the version is as
136+ you expect.
138137
139138
140139## Updating dependencies
@@ -144,11 +143,11 @@ process (say `n` or ctrl-c out).
144143
145144To update them:
146145
147- - Make a branch
148- - Update ` pom.xml ` to have the new versions you want
149- - Run ` mvn test ` and fix any errors
150- - Push and ensure Travis completes successfully
151- - Merge
146+ - Make a branch
147+ - Update ` pom.xml ` to have the new versions you want
148+ - Run ` mvn test ` and fix any errors
149+ - Push and ensure Travis completes successfully
150+ - Merge
152151
153152If you did this in the middle of releasing, you'll have to start that
154153process over.
0 commit comments