2013-09-07 13:30:29 -04:00
|
|
|
docker-ci
|
|
|
|
=========
|
|
|
|
|
|
|
|
docker-ci is our buildbot continuous integration server,
|
|
|
|
building and testing docker, hosted on EC2 and reachable at
|
|
|
|
http://docker-ci.dotcloud.com
|
|
|
|
|
|
|
|
|
|
|
|
Deployment
|
|
|
|
==========
|
|
|
|
|
|
|
|
# Load AWS credentials
|
|
|
|
export AWS_ACCESS_KEY_ID=''
|
|
|
|
export AWS_SECRET_ACCESS_KEY=''
|
|
|
|
export AWS_KEYPAIR_NAME=''
|
|
|
|
export AWS_SSH_PRIVKEY=''
|
|
|
|
|
|
|
|
# Load buildbot credentials and config
|
|
|
|
export BUILDBOT_PWD=''
|
|
|
|
export IRC_PWD=''
|
|
|
|
export IRC_CHANNEL='docker-dev'
|
|
|
|
export SMTP_USER=''
|
|
|
|
export SMTP_PWD=''
|
|
|
|
export EMAIL_RCP=''
|
|
|
|
|
|
|
|
# Load registry test credentials
|
|
|
|
export REGISTRY_USER=''
|
|
|
|
export REGISTRY_PWD=''
|
|
|
|
|
|
|
|
cd docker/testing
|
|
|
|
vagrant up --provider=aws
|
|
|
|
|
|
|
|
|
|
|
|
github pull request
|
|
|
|
===================
|
2013-08-21 20:39:45 -04:00
|
|
|
|
|
|
|
The entire docker pull request test workflow is event driven by github. Its
|
|
|
|
usage is fully automatic and the results are logged in docker-ci.dotcloud.com
|
|
|
|
|
|
|
|
Each time there is a pull request on docker's github project, github connects
|
|
|
|
to docker-ci using github's rest API documented in http://developer.github.com/v3/repos/hooks
|
|
|
|
The issued command to program github's notification PR event was:
|
|
|
|
curl -u GITHUB_USER:GITHUB_PASSWORD -d '{"name":"web","active":true,"events":["pull_request"],"config":{"url":"http://docker-ci.dotcloud.com:8011/change_hook/github?project=docker"}}' https://api.github.com/repos/dotcloud/docker/hooks
|
|
|
|
|
|
|
|
buildbot (0.8.7p1) was patched using ./testing/buildbot/github.py, so it
|
|
|
|
can understand the PR data github sends to it. Originally PR #1603 (ee64e099e0)
|
|
|
|
implemented this capability. Also we added a new scheduler to exclusively filter
|
|
|
|
PRs. and the 'pullrequest' builder to rebase the PR on top of master and test it.
|
2013-09-07 13:30:29 -04:00
|
|
|
|
|
|
|
|
|
|
|
nighthly release
|
|
|
|
================
|
|
|
|
|
|
|
|
The nightly release process is done by buildbot, running a DinD container that downloads
|
2013-09-19 19:09:12 -04:00
|
|
|
the docker repository and builds the release container. The resulting docker
|
|
|
|
binary is then tested, and if everything is fine, the release is done.
|