A docker image that contain all required packages in provision.sh
and can spawn pipeline jobs.
- Build the spawner using docker
$ cd spawner $ docker build -t bugswarm-spawner .
There are two ways to run the spawner.
- Run the container with
--privileged
mode.$ docker run --privileged -it bugswarm-spawner
- Start docker daemon and build and run the database container.
(not tested)
$ sudo dockerd & $ cd database $ docker build -t bugswarm-db . $ cd .. $ docker run -tid -p 27017:27017 -p 5000:5000 bugswarm-db
- Run the container with
/var/run/docker.sock
mounted and network set tohost
.$ docker run -v /var/run/docker.sock:/var/run/docker.sock \ -v /var/lib/docker:/var/lib/docker --net=host -it bugswarm-spawner
- Add user to docker group and re-login.
$ DOCKER_GID=`stat -c %g /var/run/docker.sock` $ sudo groupadd -g $DOCKER_GID docker_host $ sudo usermod -aG $DOCKER_GID bugswarm $ sudo su bugswarm
- Make sure
bugswarm-db
is built and set up on the host.
- Inside the container, pull the git repository
$ git pull
- Add the credentials file
$ cat > bugswarm/common/credentials.py
- Re-run
./provision.sh
$ ./provision.sh
- Continue with any other commands (e.g.
./run_reproduce_project.sh
)