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.

62 lines
1.9KB

  1. # Copyright (c) 2019 Red Hat, Inc.
  2. #
  3. # Licensed under the Apache License, Version 2.0 (the "License");
  4. # you may not use this file except in compliance with the License.
  5. # You may obtain a copy of the License at
  6. #
  7. # http://www.apache.org/licenses/LICENSE-2.0
  8. #
  9. # Unless required by applicable law or agreed to in writing, software
  10. # distributed under the License is distributed on an "AS IS" BASIS,
  11. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
  12. # implied.
  13. # See the License for the specific language governing permissions and
  14. # limitations under the License.
  15. FROM opendevorg/python-builder as builder
  16. # Optional location of Zuul API endpoint.
  17. ARG REACT_APP_ZUUL_API
  18. # Optional flag to enable React Service Worker. (set to true to enable)
  19. ARG REACT_APP_ENABLE_SERVICE_WORKER
  20. COPY . /tmp/src
  21. RUN /tmp/src/tools/install-js-tools.sh
  22. RUN assemble
  23. # The wheel install method doesn't run the setup hooks as the source based
  24. # installations do so we have to call zuul-manage-ansible here.
  25. RUN /output/install-from-bindep && zuul-manage-ansible
  26. FROM opendevorg/python-base as zuul
  27. COPY --from=builder /output/ /output
  28. RUN echo "deb http://ftp.debian.org/debian stretch-backports main" >> /etc/apt/sources.list \
  29. && apt-get update \
  30. && apt-get install -t stretch-backports -y bubblewrap \
  31. && apt-get clean \
  32. && rm -rf /var/lib/apt/lists/*
  33. RUN /output/install-from-bindep \
  34. && pip install --cache-dir=/output/wheels -r /output/zuul_base/requirements.txt \
  35. && rm -rf /output
  36. VOLUME /var/lib/zuul
  37. CMD ["/usr/local/bin/zuul"]
  38. FROM zuul as zuul-executor
  39. COPY --from=builder /usr/local/lib/zuul/ /usr/local/lib/zuul
  40. CMD ["/usr/local/bin/zuul-executor"]
  41. FROM zuul as zuul-fingergw
  42. CMD ["/usr/local/bin/zuul-fingergw"]
  43. FROM zuul as zuul-merger
  44. CMD ["/usr/local/bin/zuul-merger"]
  45. FROM zuul as zuul-scheduler
  46. CMD ["/usr/local/bin/zuul-scheduler"]
  47. FROM zuul as zuul-web
  48. CMD ["/usr/local/bin/zuul-web"]