Signed-off-by: Jessica Frazelle <acidburn@docker.com>
| ... | ... |
@@ -205,10 +205,14 @@ open the PR against the "release" branch instead of accidentally against |
| 205 | 205 |
|
| 206 | 206 |
### 7. Build release candidate rpms and debs |
| 207 | 207 |
|
| 208 |
+**NOTE**: It will be a lot faster if you pass a different graphdriver with |
|
| 209 |
+`DOCKER_GRAPHDRIVER` than `vfs`. |
|
| 210 |
+ |
|
| 208 | 211 |
```bash |
| 209 | 212 |
docker build -t docker . |
| 210 | 213 |
docker run \ |
| 211 | 214 |
--rm -t --privileged \ |
| 215 |
+ -e DOCKER_GRAPHDRIVER=aufs \ |
|
| 212 | 216 |
-v $(pwd)/bundles:/go/src/github.com/docker/docker/bundles \ |
| 213 | 217 |
docker \ |
| 214 | 218 |
hack/make.sh binary build-deb build-rpm |
| ... | ... |
@@ -222,42 +226,42 @@ another docker/docker directory in bundles. This next step assumes you have |
| 222 | 222 |
a checkout of the docker source code at the same commit you used to build, with |
| 223 | 223 |
the artifacts from the last step in `bundles`. |
| 224 | 224 |
|
| 225 |
+**NOTE:** If you put a space before the command your `.bash_history` will not |
|
| 226 |
+save it. (for the `GPG_PASSPHRASE`). |
|
| 227 |
+ |
|
| 225 | 228 |
```bash |
| 226 | 229 |
docker build -t docker . |
| 227 | 230 |
docker run --rm -it --privileged \ |
| 228 |
- -v /local/path/to/your/repos:/volumes/repos \ |
|
| 231 |
+ -v /volumes/repos:/volumes/repos \ |
|
| 229 | 232 |
-v $(pwd)/bundles:/go/src/github.com/docker/docker/bundles \ |
| 230 | 233 |
-v $HOME/.gnupg:/root/.gnupg \ |
| 231 | 234 |
-e DOCKER_RELEASE_DIR=/volumes/repos \ |
| 232 | 235 |
-e GPG_PASSPHRASE \ |
| 233 | 236 |
-e KEEPBUNDLE=1 \ |
| 234 | 237 |
docker \ |
| 235 |
- hack/make.sh release-deb release-rpm |
|
| 238 |
+ hack/make.sh release-deb release-rpm sign-repos generate-index-listing |
|
| 236 | 239 |
``` |
| 237 | 240 |
|
| 238 |
-### 9. Sign the repos with your GPG key |
|
| 239 |
- |
|
| 240 |
- |
|
| 241 |
-```bash |
|
| 242 |
-./hack/make/sign-repos |
|
| 243 |
-``` |
|
| 241 |
+### 9. Upload the changed repos to wherever you host |
|
| 244 | 242 |
|
| 245 |
-### 10. Upload the changed repos to wherever you host |
|
| 243 |
+For example, above we bind mounted `/volumes/repos` as the storage for |
|
| 244 |
+`DOCKER_RELEASE_DIR`. In this case `/volumes/repos/apt` can be synced with |
|
| 245 |
+a specific s3 bucket for the apt repo and `/volumes/repos/yum` can be synced with |
|
| 246 |
+a s3 bucket for the yum repo. |
|
| 246 | 247 |
|
| 247 |
-### 11. Publish release candidate binaries |
|
| 248 |
+### 10. Publish release candidate binaries |
|
| 248 | 249 |
|
| 249 | 250 |
To run this you will need access to the release credentials. Get them from the |
| 250 | 251 |
Core maintainers. |
| 251 | 252 |
|
| 252 |
-Replace "..." with the respective credentials: |
|
| 253 |
- |
|
| 254 | 253 |
```bash |
| 255 | 254 |
docker build -t docker . |
| 256 | 255 |
|
| 256 |
+# static binaries are still pushed to s3 |
|
| 257 | 257 |
docker run \ |
| 258 |
- -e AWS_S3_BUCKET=test.docker.com \ # static binaries are still pushed to s3 |
|
| 259 |
- -e AWS_ACCESS_KEY="..." \ |
|
| 260 |
- -e AWS_SECRET_KEY="..." \ |
|
| 258 |
+ -e AWS_S3_BUCKET=test.docker.com \ |
|
| 259 |
+ -e AWS_ACCESS_KEY \ |
|
| 260 |
+ -e AWS_SECRET_KEY \ |
|
| 261 | 261 |
-i -t --privileged \ |
| 262 | 262 |
docker \ |
| 263 | 263 |
hack/release.sh |
| ... | ... |
@@ -266,7 +270,7 @@ docker run \ |
| 266 | 266 |
It will run the test suite, build the binaries and upload to the specified bucket, |
| 267 | 267 |
so this is a good time to verify that you're running against **test**.docker.com. |
| 268 | 268 |
|
| 269 |
-### 12. Purge the cache! |
|
| 269 |
+### 11. Purge the cache! |
|
| 270 | 270 |
|
| 271 | 271 |
After the binaries are uploaded to test.docker.com and the packages are on |
| 272 | 272 |
apt.dockerproject.org and yum.dockerproject.org, make sure |
| ... | ... |
@@ -300,7 +304,7 @@ We recommend announcing the release candidate on: |
| 300 | 300 |
- The [docker-maintainers](https://groups.google.com/a/dockerproject.org/forum/#!forum/maintainers) group |
| 301 | 301 |
- Any social media that can bring some attention to the release candidate |
| 302 | 302 |
|
| 303 |
-### 13. Iterate on successive release candidates |
|
| 303 |
+### 12. Iterate on successive release candidates |
|
| 304 | 304 |
|
| 305 | 305 |
Spend several days along with the community explicitly investing time and |
| 306 | 306 |
resources to try and break Docker in every possible way, documenting any |
| ... | ... |
@@ -350,7 +354,7 @@ git push -f $GITHUBUSER bump_$VERSION |
| 350 | 350 |
Repeat step 6 to tag the code, publish new binaries, announce availability, and |
| 351 | 351 |
get help testing. |
| 352 | 352 |
|
| 353 |
-### 14. Finalize the bump branch |
|
| 353 |
+### 13. Finalize the bump branch |
|
| 354 | 354 |
|
| 355 | 355 |
When you're happy with the quality of a release candidate, you can move on and |
| 356 | 356 |
create the real thing. |
| ... | ... |
@@ -366,9 +370,9 @@ git commit --amend |
| 366 | 366 |
|
| 367 | 367 |
You will then repeat step 6 to publish the binaries to test |
| 368 | 368 |
|
| 369 |
-### 15. Get 2 other maintainers to validate the pull request |
|
| 369 |
+### 14. Get 2 other maintainers to validate the pull request |
|
| 370 | 370 |
|
| 371 |
-### 16. Build final rpms and debs |
|
| 371 |
+### 15. Build final rpms and debs |
|
| 372 | 372 |
|
| 373 | 373 |
```bash |
| 374 | 374 |
docker build -t docker . |
| ... | ... |
@@ -379,7 +383,7 @@ docker run \ |
| 379 | 379 |
hack/make.sh binary build-deb build-rpm |
| 380 | 380 |
``` |
| 381 | 381 |
|
| 382 |
-### 17. Publish final rpms and debs |
|
| 382 |
+### 16. Publish final rpms and debs |
|
| 383 | 383 |
|
| 384 | 384 |
With the rpms and debs you built from the last step you can release them on the |
| 385 | 385 |
same server, or ideally, move them to a dedicated release box via scp into |
| ... | ... |
@@ -387,47 +391,49 @@ another docker/docker directory in bundles. This next step assumes you have |
| 387 | 387 |
a checkout of the docker source code at the same commit you used to build, with |
| 388 | 388 |
the artifacts from the last step in `bundles`. |
| 389 | 389 |
|
| 390 |
+**NOTE:** If you put a space before the command your `.bash_history` will not |
|
| 391 |
+save it. (for the `GPG_PASSPHRASE`). |
|
| 392 |
+ |
|
| 390 | 393 |
```bash |
| 391 | 394 |
docker build -t docker . |
| 392 | 395 |
docker run --rm -it --privileged \ |
| 393 |
- -v /local/path/to/your/repos:/volumes/repos \ |
|
| 396 |
+ -v /volumes/repos:/volumes/repos \ |
|
| 394 | 397 |
-v $(pwd)/bundles:/go/src/github.com/docker/docker/bundles \ |
| 395 | 398 |
-v $HOME/.gnupg:/root/.gnupg \ |
| 396 | 399 |
-e DOCKER_RELEASE_DIR=/volumes/repos \ |
| 397 | 400 |
-e GPG_PASSPHRASE \ |
| 398 | 401 |
-e KEEPBUNDLE=1 \ |
| 399 | 402 |
docker \ |
| 400 |
- hack/make.sh release-deb release-rpm |
|
| 403 |
+ hack/make.sh release-deb release-rpm sign-repos generate-index-listing |
|
| 401 | 404 |
``` |
| 402 | 405 |
|
| 403 |
-### 18. Sign the repos with your GPG key |
|
| 404 |
- |
|
| 405 |
- |
|
| 406 |
-```bash |
|
| 407 |
-./hack/make/sign-repos |
|
| 408 |
-``` |
|
| 406 |
+### 17. Upload the changed repos to wherever you host |
|
| 409 | 407 |
|
| 410 |
-### 19. Upload the changed repos to wherever you host |
|
| 408 |
+For example, above we bind mounted `/volumes/repos` as the storage for |
|
| 409 |
+`DOCKER_RELEASE_DIR`. In this case `/volumes/repos/apt` can be synced with |
|
| 410 |
+a specific s3 bucket for the apt repo and `/volumes/repos/yum` can be synced with |
|
| 411 |
+a s3 bucket for the yum repo. |
|
| 411 | 412 |
|
| 412 |
-### 20. Publish final binaries |
|
| 413 |
+### 18. Publish final binaries |
|
| 413 | 414 |
|
| 414 | 415 |
Once they're tested and reasonably believed to be working, run against |
| 415 | 416 |
get.docker.com: |
| 416 | 417 |
|
| 417 | 418 |
```bash |
| 418 | 419 |
docker build -t docker . |
| 420 |
+# static binaries are still pushed to s3 |
|
| 419 | 421 |
docker run \ |
| 420 |
- -e AWS_S3_BUCKET=get.docker.com \ # static binaries are still pushed to s3 |
|
| 421 |
- -e AWS_ACCESS_KEY="..." \ |
|
| 422 |
- -e AWS_SECRET_KEY="..." \ |
|
| 422 |
+ -e AWS_S3_BUCKET=get.docker.com \ |
|
| 423 |
+ -e AWS_ACCESS_KEY \ |
|
| 424 |
+ -e AWS_SECRET_KEY \ |
|
| 423 | 425 |
-i -t --privileged \ |
| 424 | 426 |
docker \ |
| 425 | 427 |
hack/release.sh |
| 426 | 428 |
``` |
| 427 | 429 |
|
| 428 |
-### 21. Purge the cache! |
|
| 430 |
+### 19. Purge the cache! |
|
| 429 | 431 |
|
| 430 |
-### 22. Apply tag and create release |
|
| 432 |
+### 20. Apply tag and create release |
|
| 431 | 433 |
|
| 432 | 434 |
It's very important that we don't make the tag until after the official |
| 433 | 435 |
release is uploaded to get.docker.com! |
| ... | ... |
@@ -446,12 +452,12 @@ You can see examples in this two links: |
| 446 | 446 |
https://github.com/docker/docker/releases/tag/v1.8.0 |
| 447 | 447 |
https://github.com/docker/docker/releases/tag/v1.8.0-rc3 |
| 448 | 448 |
|
| 449 |
-### 23. Go to github to merge the `bump_$VERSION` branch into release |
|
| 449 |
+### 21. Go to github to merge the `bump_$VERSION` branch into release |
|
| 450 | 450 |
|
| 451 | 451 |
Don't forget to push that pretty blue button to delete the leftover |
| 452 | 452 |
branch afterwards! |
| 453 | 453 |
|
| 454 |
-### 24. Update the docs branch |
|
| 454 |
+### 22. Update the docs branch |
|
| 455 | 455 |
|
| 456 | 456 |
You will need to point the docs branch to the newly created release tag: |
| 457 | 457 |
|
| ... | ... |
@@ -470,7 +476,7 @@ distributed CDN system) is flushed. The `make docs-release` command will do this |
| 470 | 470 |
_if_ the `DISTRIBUTION_ID` is set correctly - this will take at least 15 minutes to run |
| 471 | 471 |
and you can check its progress with the CDN Cloudfront Chrome addon. |
| 472 | 472 |
|
| 473 |
-### 25. Create a new pull request to merge your bump commit back into master |
|
| 473 |
+### 23. Create a new pull request to merge your bump commit back into master |
|
| 474 | 474 |
|
| 475 | 475 |
```bash |
| 476 | 476 |
git checkout master |
| ... | ... |
@@ -484,14 +490,14 @@ echo "https://github.com/$GITHUBUSER/docker/compare/docker:master...$GITHUBUSER: |
| 484 | 484 |
Again, get two maintainers to validate, then merge, then push that pretty |
| 485 | 485 |
blue button to delete your branch. |
| 486 | 486 |
|
| 487 |
-### 26. Update the VERSION files |
|
| 487 |
+### 24. Update the VERSION files |
|
| 488 | 488 |
|
| 489 | 489 |
Now that version X.Y.Z is out, time to start working on the next! Update the |
| 490 | 490 |
content of the `VERSION` file to be the next minor (incrementing Y) and add the |
| 491 | 491 |
`-dev` suffix. For example, after 1.5.0 release, the `VERSION` file gets |
| 492 | 492 |
updated to `1.6.0-dev` (as in "1.6.0 in the making"). |
| 493 | 493 |
|
| 494 |
-### 27. Rejoice and Evangelize! |
|
| 494 |
+### 25. Rejoice and Evangelize! |
|
| 495 | 495 |
|
| 496 | 496 |
Congratulations! You're done. |
| 497 | 497 |
|