forked from TrueCloudLab/distribution
Add docker developer flow
Integrate flags better with the development flow a Docker developer. Add a shell function to make invocation of tests easy. Signed-off-by: Derek McGowan <derek@mcgstyle.net> (github: dmcgowan)
This commit is contained in:
parent
a438494b49
commit
19ec4e2c7a
2 changed files with 54 additions and 4 deletions
|
@ -29,7 +29,53 @@ Run with aufs driver and tmp volume
|
||||||
**NOTE: Using a volume will prevent multiple runs from needing to
|
**NOTE: Using a volume will prevent multiple runs from needing to
|
||||||
re-pull images**
|
re-pull images**
|
||||||
```
|
```
|
||||||
$ STORAGE_DRIVER=aufs DOCKER_VOLUME=/tmp/volume ./run.sh
|
$ DOCKER_GRAPHDRIVER=aufs DOCKER_VOLUME=/tmp/volume ./run.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
### Example developer flow
|
||||||
|
|
||||||
|
These tests are useful for developing both as a registry and docker
|
||||||
|
core developer. The following setup may be used to do integration
|
||||||
|
testing between development versions
|
||||||
|
|
||||||
|
Insert into your `.zshrc` or `.bashrc`
|
||||||
|
|
||||||
|
```
|
||||||
|
# /usr/lib/docker for Docker-in-Docker
|
||||||
|
# Set this directory to make each invocation run much faster, without
|
||||||
|
# the need to repull images.
|
||||||
|
export DOCKER_VOLUME=$HOME/.docker-test-volume
|
||||||
|
|
||||||
|
# Use overlay for all Docker testing, try aufs if overlay not supported
|
||||||
|
export DOCKER_GRAPHDRIVER=overlay
|
||||||
|
|
||||||
|
# Name this according to personal preference
|
||||||
|
function rdtest() {
|
||||||
|
if [ "$1" != "" ]; then
|
||||||
|
DOCKER_BINARY=$GOPATH/src/github.com/docker/docker/bundles/$1/binary/docker
|
||||||
|
if [ ! -f $DOCKER_BINARY ]; then
|
||||||
|
current_version=`cat $GOPATH/src/github.com/docker/docker/VERSION`
|
||||||
|
echo "$DOCKER_BINARY does not exist"
|
||||||
|
echo "Current checked out docker version: $current_version"
|
||||||
|
echo "Checkout desired version and run 'make binary' from $GOPATH/src/github.com/docker/docker"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
$GOPATH/src/github.com/docker/distribution/contrib/docker-integration/run.sh
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Run with Docker release version
|
||||||
|
```
|
||||||
|
$ rdtest
|
||||||
|
```
|
||||||
|
|
||||||
|
Run using local development version of docker
|
||||||
|
```
|
||||||
|
$ cd $GOPATH/src/github.com/docker/docker
|
||||||
|
$ make binary
|
||||||
|
$ rdtest `cat VERSION`
|
||||||
```
|
```
|
||||||
|
|
||||||
## Running manually outside of Docker
|
## Running manually outside of Docker
|
||||||
|
|
|
@ -11,6 +11,11 @@ if [ "$DOCKER_VOLUME" != "" ]; then
|
||||||
volumeMount="-v ${DOCKER_VOLUME}:/var/lib/docker"
|
volumeMount="-v ${DOCKER_VOLUME}:/var/lib/docker"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
dockerMount=""
|
||||||
|
if [ "$DOCKER_BINARY" != "" ]; then
|
||||||
|
dockerMount="-v ${DOCKER_BINARY}:/usr/local/bin/docker"
|
||||||
|
fi
|
||||||
|
|
||||||
# Image containing the integration tests environment.
|
# Image containing the integration tests environment.
|
||||||
INTEGRATION_IMAGE=${INTEGRATION_IMAGE:-distribution/docker-integration}
|
INTEGRATION_IMAGE=${INTEGRATION_IMAGE:-distribution/docker-integration}
|
||||||
|
|
||||||
|
@ -18,10 +23,9 @@ INTEGRATION_IMAGE=${INTEGRATION_IMAGE:-distribution/docker-integration}
|
||||||
docker pull $INTEGRATION_IMAGE
|
docker pull $INTEGRATION_IMAGE
|
||||||
|
|
||||||
# Start the integration tests in a Docker container.
|
# Start the integration tests in a Docker container.
|
||||||
ID=$(docker run -d -t --privileged $volumeMount \
|
ID=$(docker run -d -t --privileged $volumeMount $dockerMount \
|
||||||
-v ${DISTRIBUTION_ROOT}:/go/src/github.com/docker/distribution \
|
-v ${DISTRIBUTION_ROOT}:/go/src/github.com/docker/distribution \
|
||||||
-e "DOCKER_VERSION=$DOCKER_VERSION" \
|
-e "STORAGE_DRIVER=$DOCKER_GRAPHDRIVER" \
|
||||||
-e "STORAGE_DRIVER=$STORAGE_DRIVER" \
|
|
||||||
-e "EXEC_DRIVER=$EXEC_DRIVER" \
|
-e "EXEC_DRIVER=$EXEC_DRIVER" \
|
||||||
${INTEGRATION_IMAGE} \
|
${INTEGRATION_IMAGE} \
|
||||||
./test_runner.sh "$@")
|
./test_runner.sh "$@")
|
||||||
|
|
Loading…
Reference in a new issue