зеркало из https://github.com/microsoft/docker.git
Merge pull request #6244 from tiborvass/fix_release_checklist
Fix documentation for release-checklist
This commit is contained in:
Коммит
443d923f08
|
@ -17,30 +17,51 @@ If you don't have an upstream remote, you can add one easily using something
|
||||||
like:
|
like:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
export GITHUBUSER="YOUR_GITHUB_USER"
|
||||||
git remote add origin https://github.com/dotcloud/docker.git
|
git remote add origin https://github.com/dotcloud/docker.git
|
||||||
git remote add YOURUSER git@github.com:YOURUSER/docker.git
|
git remote add $GITHUBUSER git@github.com:$GITHUBUSER/docker.git
|
||||||
```
|
```
|
||||||
|
|
||||||
### 1. Pull from master and create a release branch
|
### 1. Pull from master and create a release branch
|
||||||
|
|
||||||
|
Note: Even for major releases, all of X, Y and Z in vX.Y.Z must be specified (e.g. v1.0.0).
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
export VERSION=vX.Y.Z
|
export VERSION=vX.Y.Z
|
||||||
git checkout release
|
git fetch origin
|
||||||
git fetch
|
git branch -D release || true
|
||||||
git reset --hard origin/release
|
git checkout --track origin/release
|
||||||
git checkout -b bump_$VERSION
|
git checkout -b bump_$VERSION
|
||||||
git merge origin/master
|
git merge origin/master
|
||||||
```
|
```
|
||||||
|
|
||||||
### 2. Update CHANGELOG.md
|
### 2. Update CHANGELOG.md
|
||||||
|
|
||||||
You can run this command for reference:
|
You can run this command for reference with git 2.0:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
LAST_VERSION=$(git tag | grep -E 'v[0-9\.]+$' | sort -nr | head -n 1)
|
git fetch --tags
|
||||||
git log --stat $LAST_VERSION..HEAD
|
LAST_VERSION=$(git tag -l --sort=-version:refname "v*" | grep -E 'v[0-9\.]+$' | head -1)
|
||||||
|
git log --stat $LAST_VERSION..bump_$VERSION
|
||||||
```
|
```
|
||||||
|
|
||||||
|
If you don't have git 2.0 but have a sort command that supports `-V`:
|
||||||
|
```bash
|
||||||
|
git fetch --tags
|
||||||
|
LAST_VERSION=$(git tag -l | grep -E 'v[0-9\.]+$' | sort -rV | head -1)
|
||||||
|
git log --stat $LAST_VERSION..bump_$VERSION
|
||||||
|
```
|
||||||
|
|
||||||
|
If releasing a major version (X or Y increased in vX.Y.Z), simply listing notable user-facing features is sufficient.
|
||||||
|
```markdown
|
||||||
|
#### Notable features since <last major version>
|
||||||
|
* New docker command to do something useful
|
||||||
|
* Remote API change (deprecating old version)
|
||||||
|
* Performance improvements in some usecases
|
||||||
|
* ...
|
||||||
|
```
|
||||||
|
|
||||||
|
For minor releases (only Z increases in vX.Y.Z), provide a list of user-facing changes.
|
||||||
Each change should be listed under a category heading formatted as `#### CATEGORY`.
|
Each change should be listed under a category heading formatted as `#### CATEGORY`.
|
||||||
|
|
||||||
`CATEGORY` should describe which part of the project is affected.
|
`CATEGORY` should describe which part of the project is affected.
|
||||||
|
@ -95,13 +116,7 @@ a count, add a simple `| wc -l`.
|
||||||
echo ${VERSION#v} > VERSION
|
echo ${VERSION#v} > VERSION
|
||||||
```
|
```
|
||||||
|
|
||||||
### 4. Run all tests
|
### 4. Test the docs
|
||||||
|
|
||||||
```bash
|
|
||||||
make test
|
|
||||||
```
|
|
||||||
|
|
||||||
### 5. Test the docs
|
|
||||||
|
|
||||||
Make sure that your tree includes documentation for any modified or
|
Make sure that your tree includes documentation for any modified or
|
||||||
new features, syntax or semantic changes.
|
new features, syntax or semantic changes.
|
||||||
|
@ -120,44 +135,41 @@ To make a shared test at http://beta-docs.docker.io:
|
||||||
make AWS_S3_BUCKET=beta-docs.docker.io docs-release
|
make AWS_S3_BUCKET=beta-docs.docker.io docs-release
|
||||||
```
|
```
|
||||||
|
|
||||||
### 6. Commit and create a pull request to the "release" branch
|
### 5. Commit and create a pull request to the "release" branch
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
export GITHUBUSER="YOUR_GITHUB_USER"
|
||||||
git add VERSION CHANGELOG.md
|
git add VERSION CHANGELOG.md
|
||||||
git commit -m "Bump version to $VERSION"
|
git commit -m "Bump version to $VERSION"
|
||||||
git push origin bump_$VERSION
|
git push $GITHUBUSER bump_$VERSION
|
||||||
echo "https://github.com/dotcloud/docker/compare/release...bump_$VERSION"
|
echo "https://github.com/$GITHUBUSER/docker/compare/dotcloud:master...$GITHUBUSER:bump_$VERSION?expand=1"
|
||||||
```
|
```
|
||||||
|
|
||||||
That last command will give you the proper link to visit to ensure that you
|
That last command will give you the proper link to visit to ensure that you
|
||||||
open the PR against the "release" branch instead of accidentally against
|
open the PR against the "release" branch instead of accidentally against
|
||||||
"master" (like so many brave souls before you already have).
|
"master" (like so many brave souls before you already have).
|
||||||
|
|
||||||
### 7. Get 2 other maintainers to validate the pull request
|
### 6. Get 2 other maintainers to validate the pull request
|
||||||
|
|
||||||
### 8. Publish binaries
|
### 7. Publish binaries
|
||||||
|
|
||||||
To run this you will need access to the release credentials.
|
To run this you will need access to the release credentials. Get them from the Core maintainers.
|
||||||
Get them from [the infrastructure maintainers](
|
|
||||||
https://github.com/dotcloud/docker/blob/master/hack/infrastructure/MAINTAINERS).
|
Replace "..." with the respective credentials:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker build -t docker .
|
docker build -t docker .
|
||||||
export AWS_S3_BUCKET="test.docker.io"
|
|
||||||
export AWS_ACCESS_KEY="$(cat ~/.aws/access_key)"
|
|
||||||
export AWS_SECRET_KEY="$(cat ~/.aws/secret_key)"
|
|
||||||
export GPG_PASSPHRASE=supersecretsesame
|
|
||||||
docker run \
|
docker run \
|
||||||
-e AWS_S3_BUCKET=test.docker.io \
|
-e AWS_S3_BUCKET=test.docker.io \
|
||||||
-e AWS_ACCESS_KEY \
|
-e AWS_ACCESS_KEY="..." \
|
||||||
-e AWS_SECRET_KEY \
|
-e AWS_SECRET_KEY="..." \
|
||||||
-e GPG_PASSPHRASE \
|
-e GPG_PASSPHRASE="..." \
|
||||||
-i -t --privileged \
|
-i -t --privileged \
|
||||||
docker \
|
docker \
|
||||||
hack/release.sh
|
hack/release.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
It will run the test suite one more time, build the binaries and packages,
|
It will run the test suite, build the binaries and packages,
|
||||||
and upload to the specified bucket (you should use test.docker.io for
|
and upload to the specified bucket (you should use test.docker.io for
|
||||||
general testing, and once everything is fine, switch to get.docker.io as
|
general testing, and once everything is fine, switch to get.docker.io as
|
||||||
noted below).
|
noted below).
|
||||||
|
@ -183,15 +195,15 @@ get.docker.io:
|
||||||
```bash
|
```bash
|
||||||
docker run \
|
docker run \
|
||||||
-e AWS_S3_BUCKET=get.docker.io \
|
-e AWS_S3_BUCKET=get.docker.io \
|
||||||
-e AWS_ACCESS_KEY \
|
-e AWS_ACCESS_KEY="..." \
|
||||||
-e AWS_SECRET_KEY \
|
-e AWS_SECRET_KEY="..." \
|
||||||
-e GPG_PASSPHRASE \
|
-e GPG_PASSPHRASE="..." \
|
||||||
-i -t --privileged \
|
-i -t --privileged \
|
||||||
docker \
|
docker \
|
||||||
hack/release.sh
|
hack/release.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
### 9. Breakathon
|
### 8. Breakathon
|
||||||
|
|
||||||
Spend several days along with the community explicitly investing time and
|
Spend several days along with the community explicitly investing time and
|
||||||
resources to try and break Docker in every possible way, documenting any
|
resources to try and break Docker in every possible way, documenting any
|
||||||
|
@ -207,28 +219,28 @@ by the book.
|
||||||
Any issues found may still remain issues for this release, but they should be
|
Any issues found may still remain issues for this release, but they should be
|
||||||
documented and give appropriate warnings.
|
documented and give appropriate warnings.
|
||||||
|
|
||||||
### 10. Apply tag
|
### 9. Apply tag
|
||||||
|
|
||||||
|
It's very important that we don't make the tag until after the official
|
||||||
|
release is uploaded to get.docker.io!
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git tag -a $VERSION -m $VERSION bump_$VERSION
|
git tag -a $VERSION -m $VERSION bump_$VERSION
|
||||||
git push origin $VERSION
|
git push origin $VERSION
|
||||||
```
|
```
|
||||||
|
|
||||||
It's very important that we don't make the tag until after the official
|
### 10. Go to github to merge the `bump_$VERSION` branch into release
|
||||||
release is uploaded to get.docker.io!
|
|
||||||
|
|
||||||
### 11. Go to github to merge the `bump_$VERSION` branch into release
|
|
||||||
|
|
||||||
Don't forget to push that pretty blue button to delete the leftover
|
Don't forget to push that pretty blue button to delete the leftover
|
||||||
branch afterwards!
|
branch afterwards!
|
||||||
|
|
||||||
### 12. Update the docs branch
|
### 11. Update the docs branch
|
||||||
|
|
||||||
You will need the `awsconfig` file added to the `docs/` directory to contain the
|
You will need the `awsconfig` file added to the `docs/` directory to contain the
|
||||||
s3 credentials for the bucket you are deploying to.
|
s3 credentials for the bucket you are deploying to.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git checkout docs
|
git checkout -b docs release || git checkout docs
|
||||||
git fetch
|
git fetch
|
||||||
git reset --hard origin/release
|
git reset --hard origin/release
|
||||||
git push -f origin docs
|
git push -f origin docs
|
||||||
|
@ -239,7 +251,7 @@ The docs will appear on http://docs.docker.io/ (though there may be cached
|
||||||
versions, so its worth checking http://docs.docker.io.s3-website-us-west-2.amazonaws.com/).
|
versions, so its worth checking http://docs.docker.io.s3-website-us-west-2.amazonaws.com/).
|
||||||
For more information about documentation releases, see `docs/README.md`.
|
For more information about documentation releases, see `docs/README.md`.
|
||||||
|
|
||||||
### 13. Create a new pull request to merge release back into master
|
### 12. Create a new pull request to merge release back into master
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git checkout master
|
git checkout master
|
||||||
|
@ -250,14 +262,14 @@ git checkout -b merge_release_$VERSION
|
||||||
echo ${VERSION#v}-dev > VERSION
|
echo ${VERSION#v}-dev > VERSION
|
||||||
git add VERSION
|
git add VERSION
|
||||||
git commit -m "Change version to $(cat VERSION)"
|
git commit -m "Change version to $(cat VERSION)"
|
||||||
git push origin merge_release_$VERSION
|
git push $GITHUBUSER merge_release_$VERSION
|
||||||
echo "https://github.com/dotcloud/docker/compare/master...merge_release_$VERSION"
|
echo "https://github.com/$GITHUBUSER/docker/compare/dotcloud:master...$GITHUBUSER:merge_release_$VERSION?expand=1"
|
||||||
```
|
```
|
||||||
|
|
||||||
Again, get two maintainers to validate, then merge, then push that pretty
|
Again, get two maintainers to validate, then merge, then push that pretty
|
||||||
blue button to delete your branch.
|
blue button to delete your branch.
|
||||||
|
|
||||||
### 14. Rejoice and Evangelize!
|
### 13. Rejoice and Evangelize!
|
||||||
|
|
||||||
Congratulations! You're done.
|
Congratulations! You're done.
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче