docker.yml 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. docker:
  2. image: docker
  3. stage: test
  4. interruptible: false
  5. rules:
  6. - if: $CI_COMMIT_REF_NAME =~ /^private/
  7. when: manual
  8. allow_failure: true
  9. - when: on_success
  10. services: []
  11. cache: []
  12. variables:
  13. ZAMMAD_IMAGE_TAG: "ci-${CI_JOB_ID}-${CI_COMMIT_SHORT_SHA}"
  14. ZAMMAD_IMAGE_REPO: "zammad-local"
  15. ZAMMAD_IMAGE: "${ZAMMAD_IMAGE_REPO}:${ZAMMAD_IMAGE_TAG}"
  16. before_script:
  17. - docker build -t $ZAMMAD_IMAGE .
  18. script: |
  19. git clone --depth=1 https://github.com/zammad/zammad-docker-compose.git
  20. cd zammad-docker-compose
  21. # Make the stack use the image that was just built.
  22. echo "IMAGE_REPO=${ZAMMAD_IMAGE_REPO}" > .env
  23. echo "VERSION=${ZAMMAD_IMAGE_TAG}" >> .env
  24. cat .env
  25. # Use dynamic stack name and no exposed port to avoid conflicts.
  26. cat - > docker-compose.override.yml <<COMPOSE_OVERRIDE_FILE
  27. ---
  28. name: zammad-docker-ci-${ZAMMAD_IMAGE_TAG}
  29. services:
  30. zammad-nginx:
  31. ports: !reset []
  32. COMPOSE_OVERRIDE_FILE
  33. docker compose up --quiet-pull --detach
  34. docker compose cp .github/auto_wizard.json zammad-railsserver:/opt/zammad/tmp
  35. DISABLE_EXTERNAL_TESTS=1 .github/tests.sh
  36. docker compose ps
  37. after_script:
  38. - cd zammad-docker-compose
  39. - docker compose down --timeout 0 --volumes
  40. - docker image rm ${ZAMMAD_IMAGE}