Add buildman and test to the docker build script
This commit is contained in:
parent
3f6f5162e8
commit
72c21a98e8
3 changed files with 62 additions and 9 deletions
38
README.md
38
README.md
|
@ -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
2
dev.df
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Reference in a new issue