The Gatekeeper, or a project gating system
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

docker-compose.yaml 3.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. # Version 2 is the latest that is supported by docker-compose in
  2. # Ubuntu Xenial.
  3. version: '2'
  4. services:
  5. gerrit:
  6. image: gerritcodereview/gerrit
  7. ports:
  8. - "8080:8080"
  9. - "29418:29418"
  10. command: |
  11. /bin/sh -c '\
  12. git config -f /var/gerrit/etc/gerrit.config gerrit.canonicalWebUrl http://localhost:8080/ && \
  13. git config -f /var/gerrit/etc/gerrit.config gerrit.ui POLYGERRIT && \
  14. git config -f /var/gerrit/etc/gerrit.config sendemail.enable false && \
  15. git config -f /var/gerrit/etc/gerrit.config noteDb.changes.autoMigrate true && \
  16. /var/gerrit/bin/gerrit.sh run'
  17. gerritconfig:
  18. image: zuul/zuul-executor
  19. environment:
  20. - http_proxy
  21. - https_proxy
  22. - no_proxy=${no_proxy},gerrit
  23. depends_on:
  24. - gerrit
  25. volumes:
  26. - "sshkey:/var/ssh:z"
  27. - "nodessh:/var/node:z"
  28. - "./playbooks/:/var/playbooks/:z"
  29. command: "/usr/local/lib/zuul/ansible/2.5/bin/ansible-playbook /var/playbooks/setup.yaml"
  30. zk:
  31. image: zookeeper
  32. mysql:
  33. image: mariadb
  34. environment:
  35. MYSQL_ROOT_PASSWORD: rootpassword
  36. MYSQL_DATABASE: zuul
  37. MYSQL_USER: zuul
  38. MYSQL_PASSWORD: secret
  39. scheduler:
  40. depends_on:
  41. - gerritconfig
  42. - zk
  43. - mysql
  44. environment:
  45. - http_proxy
  46. - https_proxy
  47. - no_proxy=${no_proxy},gerrit
  48. command: "sh -c '/var/playbooks/wait-to-start.sh && zuul-scheduler -d'"
  49. # FIXME: The scheduler has no ansible anymore so use the executor image.
  50. # This needs to be changes such that ansible is not required for startup.
  51. image: zuul/zuul-scheduler
  52. volumes:
  53. - "./etc_zuul/:/etc/zuul/:z"
  54. - "./playbooks/:/var/playbooks/:z"
  55. - "sshkey:/var/ssh:z"
  56. - /var/lib/zuul
  57. web:
  58. command: "sh -c '/var/playbooks/wait-to-start-gearman.sh && zuul-web -d'"
  59. depends_on:
  60. - scheduler
  61. - mysql
  62. ports:
  63. - "9000:9000"
  64. image: zuul/zuul-web
  65. volumes:
  66. - "./etc_zuul/:/etc/zuul/:z"
  67. - "./playbooks/:/var/playbooks/:z"
  68. executor:
  69. privileged: true
  70. environment:
  71. - http_proxy
  72. - https_proxy
  73. - no_proxy=${no_proxy},gerrit,scheduler
  74. command: "zuul-executor -d"
  75. depends_on:
  76. - scheduler
  77. image: zuul/zuul-executor
  78. volumes:
  79. - "./etc_zuul/:/etc/zuul/:z"
  80. - "./playbooks/:/var/playbooks/:z"
  81. - "sshkey:/var/ssh:z"
  82. - "logs:/srv/static/logs:z"
  83. node:
  84. build:
  85. dockerfile: node-Dockerfile
  86. context: ./
  87. args:
  88. http_proxy: "${http_proxy}"
  89. https_proxy: "${http_proxy}"
  90. no_proxy: "${no_proxy},gerrit"
  91. volumes:
  92. - "nodessh:/root/.ssh:z"
  93. launcher:
  94. command: "nodepool-launcher -d"
  95. depends_on:
  96. - zk
  97. image: zuul/nodepool-launcher
  98. volumes:
  99. - "./etc_nodepool/:/etc/nodepool/:z"
  100. ports:
  101. - "8022:8022"
  102. logs:
  103. build:
  104. dockerfile: logs-Dockerfile
  105. context: ./
  106. args:
  107. http_proxy: "${http_proxy}"
  108. https_proxy: "${http_proxy}"
  109. no_proxy: "${no_proxy}"
  110. ports:
  111. - "8000:80"
  112. volumes:
  113. - "logs:/usr/local/apache2/htdocs:z"
  114. volumes:
  115. sshkey:
  116. nodessh:
  117. logs: