Add buildman and test to the docker build script

This commit is contained in:
Matt Jibson 2015-08-18 13:47:16 -04:00
parent 3f6f5162e8
commit 72c21a98e8
3 changed files with 62 additions and 9 deletions

View file

@ -7,6 +7,42 @@ The application is implemented as a set of API endpoints written in python and a
If you are doing local development on your workstation against the code base follow these instructions. If you are doing local development on your workstation against the code base follow these instructions.
### Docker
Quay and its parts can run inside of docker containers.
This method requires no installation of any python packages on your host machine.
The `local-docker.sh` script is provided to prepare and run parts of quay.
First, start redis:
```
docker run -d -p 6379:6379 redis
```
And clone the configuration repo:
```
git clone git@github.com:coreos-inc/quay-config.git ../quay-config
ln -s ../../quay-config/local conf/stack
```
To build and run a docker container, pass one argument to local-docker.sh:
- `dev`: run quay on port 5000
- `buildman`: run the buildmanager
- `notifications`: run the notification worker
- `test`: run the unit tests
For example:
```
./local-docker.sh dev
````
will start quay in a docker container.
Now quay will be running on: http://127.0.0.1:5000
The username is `devtable` and the password is `password`.
### OS X ### OS X
``` ```
@ -15,8 +51,6 @@ cd quay
./contrib/osx/local-setup.sh ./contrib/osx/local-setup.sh
``` ```
## Running Development Environment
Now run the server; it will use sqlite as the SQL server. Now run the server; it will use sqlite as the SQL server.
``` ```

2
dev.df
View file

@ -18,4 +18,4 @@ RUN venv/bin/pip install -r requirements.txt
WORKDIR /src/quay WORKDIR /src/quay
ENV PYTHONPATH=/ ENV PYTHONPATH=/
ENV PATH=$PATH:/venv/bin ENV PATH=/venv/bin:$PATH

View file

@ -1,11 +1,30 @@
#!/bin/sh #!/bin/bash
# Run this from the quay directory to start a quay development instance in
# docker on port 5000.
set -e set -e
REPO=quay.io/quay/quay-dev REPO=quay.io/quay/quay-dev
docker build -t $REPO -f dev.df . d ()
docker run -it -p 5000:5000 -v $(pwd)/..:/src $REPO bash /src/quay/local-run.sh {
docker build -t $REPO -f dev.df .
docker -- run --rm -it --net=host -v $(pwd)/..:/src $REPO $*
}
case $1 in
buildman)
d /venv/bin/python -m buildman.builder
;;
dev)
d bash /src/quay/local-run.sh
;;
notifications)
d /venv/bin/python -m workers.notificationworker
;;
test)
d bash /src/quay/local-test.sh
;;
*)
echo "unknown option"
exit 1
;;
esac