Loading .gitlab-ci.yml +38 −23 Original line number Diff line number Diff line Loading @@ -7,6 +7,11 @@ image: docker:stable variables: DOCKER_DRIVER: overlay2 STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} STATIC_SUBDOMAIN: static services: - docker:dind Loading Loading @@ -64,68 +69,78 @@ container-scanning: artifacts: paths: [gl-sast-container-report.json] deploy-dev: deploy-supporting-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} EXTERNAL_PORT=${EXTERNAL_PORT} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://${STATIC_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - dev - branches except: - master when: manual deploy-supporting-branch: deploy-stable-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} EXTERNAL_PORT=${EXTERNAL_PORT} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://${STATIC_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - master when: manual deploy-supporting-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${PRO_SSH_REMOTE} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: pro url: https://${STATIC_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME} only: - branches except: - master - dev when: manual deploy-pro: deploy-stable-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: pro url: https://${STATIC_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME} only: - master when: manual Dockerfile +1 −1 Original line number Diff line number Diff line FROM nginx:alpine FROM nginx:1.15-alpine LABEL maintainer="info@redmic.es" Loading deploy/.env +0 −1 Original line number Diff line number Diff line INTERNAL_PORT=80 EXTERNAL_PORT=8099 PUBLIC_HOSTNAME=redmic.es STATIC_SUBDOMAIN=static deploy/docker-compose.dev.yml +0 −27 Original line number Diff line number Diff line version: '3.5' services: static-pages: ports: - target: ${INTERNAL_PORT} published: ${EXTERNAL_PORT} mode: host deploy: mode: global labels: traefik.docker.network: traefik-net traefik.static.port: "${INTERNAL_PORT}" traefik.static.frontend.rule: Host:${STATIC_SUBDOMAIN}.${PUBLIC_HOSTNAME} traefik.static.backend: static-pages traefik.web-error-handle.port: "${INTERNAL_PORT}" traefik.web-error-handle.frontend.rule: Host:${PUBLIC_HOSTNAME};ReplacePathRegex:^.*?(resources/[^/]+\\.\\w+)?$$ /maintenance/$$1 traefik.web-error-handle.frontend.priority: "1" traefik.web-error-handle.backend: static-pages restart_policy: delay: 30s window: 1m resources: limits: cpus: '0.1' memory: 64M reservations: memory: 52M deploy/docker-compose.prod.yml +0 −23 Original line number Diff line number Diff line version: '3.5' services: static-pages: deploy: mode: global labels: traefik.docker.network: traefik-net traefik.static.port: "${INTERNAL_PORT}" traefik.static.frontend.rule: Host:${STATIC_SUBDOMAIN}.${PUBLIC_HOSTNAME} traefik.static.backend: static-pages traefik.web-error-handle.port: "${INTERNAL_PORT}" traefik.web-error-handle.frontend.rule: Host:${PUBLIC_HOSTNAME};ReplacePathRegex:^.*?(resources/[^/]+\\.\\w+)?$$ /maintenance/$$1 traefik.web-error-handle.frontend.priority: "1" traefik.web-error-handle.backend: static-pages restart_policy: delay: 30s window: 1m resources: limits: cpus: '0.1' memory: 64M reservations: memory: 52M Loading
.gitlab-ci.yml +38 −23 Original line number Diff line number Diff line Loading @@ -7,6 +7,11 @@ image: docker:stable variables: DOCKER_DRIVER: overlay2 STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} STATIC_SUBDOMAIN: static services: - docker:dind Loading Loading @@ -64,68 +69,78 @@ container-scanning: artifacts: paths: [gl-sast-container-report.json] deploy-dev: deploy-supporting-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} EXTERNAL_PORT=${EXTERNAL_PORT} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://${STATIC_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - dev - branches except: - master when: manual deploy-supporting-branch: deploy-stable-branch-develop: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} EXTERNAL_PORT=${EXTERNAL_PORT} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: dev url: https://${STATIC_SUBDOMAIN}.${DEV_PUBLIC_HOSTNAME} only: - master when: manual deploy-supporting-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${PRO_SSH_REMOTE} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: pro url: https://${STATIC_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME} only: - branches except: - master - dev when: manual deploy-pro: deploy-stable-branch-production: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: ${CI_PROJECT_NAME} SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} STATIC_SUBDOMAIN=${STATIC_SUBDOMAIN} PUBLIC_HOSTNAME=${PUBLIC_HOSTNAME} environment: name: pro url: https://${STATIC_SUBDOMAIN}.${PRO_PUBLIC_HOSTNAME} only: - master when: manual
Dockerfile +1 −1 Original line number Diff line number Diff line FROM nginx:alpine FROM nginx:1.15-alpine LABEL maintainer="info@redmic.es" Loading
deploy/.env +0 −1 Original line number Diff line number Diff line INTERNAL_PORT=80 EXTERNAL_PORT=8099 PUBLIC_HOSTNAME=redmic.es STATIC_SUBDOMAIN=static
deploy/docker-compose.dev.yml +0 −27 Original line number Diff line number Diff line version: '3.5' services: static-pages: ports: - target: ${INTERNAL_PORT} published: ${EXTERNAL_PORT} mode: host deploy: mode: global labels: traefik.docker.network: traefik-net traefik.static.port: "${INTERNAL_PORT}" traefik.static.frontend.rule: Host:${STATIC_SUBDOMAIN}.${PUBLIC_HOSTNAME} traefik.static.backend: static-pages traefik.web-error-handle.port: "${INTERNAL_PORT}" traefik.web-error-handle.frontend.rule: Host:${PUBLIC_HOSTNAME};ReplacePathRegex:^.*?(resources/[^/]+\\.\\w+)?$$ /maintenance/$$1 traefik.web-error-handle.frontend.priority: "1" traefik.web-error-handle.backend: static-pages restart_policy: delay: 30s window: 1m resources: limits: cpus: '0.1' memory: 64M reservations: memory: 52M
deploy/docker-compose.prod.yml +0 −23 Original line number Diff line number Diff line version: '3.5' services: static-pages: deploy: mode: global labels: traefik.docker.network: traefik-net traefik.static.port: "${INTERNAL_PORT}" traefik.static.frontend.rule: Host:${STATIC_SUBDOMAIN}.${PUBLIC_HOSTNAME} traefik.static.backend: static-pages traefik.web-error-handle.port: "${INTERNAL_PORT}" traefik.web-error-handle.frontend.rule: Host:${PUBLIC_HOSTNAME};ReplacePathRegex:^.*?(resources/[^/]+\\.\\w+)?$$ /maintenance/$$1 traefik.web-error-handle.frontend.priority: "1" traefik.web-error-handle.backend: static-pages restart_policy: delay: 30s window: 1m resources: limits: cpus: '0.1' memory: 64M reservations: memory: 52M