111 lines
2.7 KiB
YAML
111 lines
2.7 KiB
YAML
# Version 2 is the latest that is supported by docker-compose in
|
|
# Ubuntu Xenial.
|
|
version: '2'
|
|
|
|
services:
|
|
gerrit:
|
|
image: gerritcodereview/gerrit
|
|
ports:
|
|
- "8080:8080"
|
|
- "29418:29418"
|
|
command: |
|
|
/bin/sh -c '\
|
|
git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl http://localhost:8080/ && \
|
|
git config -f /var/gerrit/etc/gerrit.config gerrit.ui POLYGERRIT && \
|
|
git config -f /var/gerrit/etc/gerrit.config sendemail.enable false && \
|
|
git config -f /var/gerrit/etc/gerrit.config noteDb.changes.autoMigrate true && \
|
|
/var/gerrit/bin/gerrit.sh run'
|
|
gerritconfig:
|
|
image: zuul/zuul
|
|
environment:
|
|
no_proxy: "${no_proxy},gerrit"
|
|
depends_on:
|
|
- gerrit
|
|
volumes:
|
|
- "sshkey:/var/ssh"
|
|
- "nodessh:/var/node"
|
|
- "./playbooks/:/var/playbooks/"
|
|
command: "ansible-playbook /var/playbooks/setup.yaml"
|
|
zk:
|
|
image: zookeeper
|
|
mysql:
|
|
image: mariadb
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: rootpassword
|
|
MYSQL_DATABASE: zuul
|
|
MYSQL_USER: zuul
|
|
MYSQL_PASSWORD: secret
|
|
scheduler:
|
|
depends_on:
|
|
- gerritconfig
|
|
- zk
|
|
- mysql
|
|
environment:
|
|
no_proxy: "${no_proxy},gerrit"
|
|
command: "sh -c 'ansible-playbook /var/playbooks/scheduler.yaml; zuul-scheduler -d'"
|
|
image: zuul/zuul-scheduler
|
|
volumes:
|
|
- "./etc_zuul/:/etc/zuul/"
|
|
- "./playbooks/:/var/playbooks/"
|
|
- "sshkey:/var/ssh"
|
|
- /var/lib/zuul
|
|
web:
|
|
command: "zuul-web -d"
|
|
depends_on:
|
|
- scheduler
|
|
- mysql
|
|
ports:
|
|
- "9000:9000"
|
|
image: zuul/zuul-web
|
|
volumes:
|
|
- "./etc_zuul/:/etc/zuul/"
|
|
executor:
|
|
privileged: true
|
|
environment:
|
|
no_proxy: "${no_proxy},gerrit"
|
|
command: "sh -c 'ansible-playbook /var/playbooks/executor.yaml; zuul-executor -d'"
|
|
depends_on:
|
|
- scheduler
|
|
image: zuul/zuul-executor
|
|
volumes:
|
|
- "./etc_zuul/:/etc/zuul/"
|
|
- "./playbooks/:/var/playbooks/"
|
|
- "sshkey:/var/ssh"
|
|
- "logs:/srv/static/logs"
|
|
node:
|
|
build:
|
|
dockerfile: node-Dockerfile
|
|
context: ./
|
|
args:
|
|
http_proxy: "${http_proxy}"
|
|
https_proxy: "${http_proxy}"
|
|
no_proxy: "${no_proxy}"
|
|
volumes:
|
|
- "nodessh:/root/.ssh"
|
|
launcher:
|
|
command: "nodepool-launcher -d"
|
|
depends_on:
|
|
- zk
|
|
image: zuul/nodepool
|
|
volumes:
|
|
- "./etc_nodepool/:/etc/nodepool/"
|
|
ports:
|
|
- "8022:8022"
|
|
logs:
|
|
build:
|
|
dockerfile: logs-Dockerfile
|
|
context: ./
|
|
args:
|
|
http_proxy: "${http_proxy}"
|
|
https_proxy: "${http_proxy}"
|
|
no_proxy: "${no_proxy}"
|
|
ports:
|
|
- "8000:80"
|
|
volumes:
|
|
- "logs:/usr/local/apache2/htdocs"
|
|
|
|
volumes:
|
|
sshkey:
|
|
nodessh:
|
|
logs:
|