Loading .gitlab-ci.yml +55 −29 Original line number Diff line number Diff line Loading @@ -3,13 +3,15 @@ stages: - test-package - deploy docker-build-commit-non-master-branches: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind docker-build-commit-non-master-branches: stage: package image: docker:stable only: - branches except: Loading @@ -23,10 +25,6 @@ docker-build-commit-non-master-branches: docker-build-commit-master-branch: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind only: - master except: Loading @@ -39,10 +37,6 @@ docker-build-commit-master-branch: docker-tag-already-built-image: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind only: - tags except: Loading @@ -55,11 +49,7 @@ docker-tag-already-built-image: container-scanning: stage: test-package image: docker:stable variables: DOCKER_DRIVER: overlay2 allow_failure: true services: - docker:stable-dind only: - branches except: Loading @@ -84,26 +74,61 @@ deploy-dev: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml services: - docker:dind POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOSTNAME: ${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB: ${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} environment: name: dev only: - dev except: - schedules when: manual deploy-supporting-branch: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOSTNAME: ${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB: ${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} environment: name: dev only: - branches except: - master - dev - schedules when: manual Loading @@ -111,15 +136,19 @@ deploy-pro: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml services: - docker:dind AWS_REGION: ${AWS_REGION} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOSTNAME: ${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB: ${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} Loading @@ -138,15 +167,12 @@ scheduled-deploy-pro: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} Loading .env→deploy/.env +0 −0 File moved. View file deploy/docker-compose.dev.yml 0 → 100644 +17 −0 Original line number Diff line number Diff line version: '3.5' services: backup-db: deploy: mode: replicated replicas: 1 restart_policy: condition: on-failure delay: 1m window: 3m resources: limits: cpus: '0.5' memory: 512M reservations: memory: 410M docker-compose.prod.yml→deploy/docker-compose.prod.yml +8 −1 Original line number Diff line number Diff line Loading @@ -11,4 +11,11 @@ services: - engine.labels.availability_zone == ${AWS_REGION}${DESIRED_WORKER_ID} restart_policy: condition: on-failure max_attempts: 3 delay: 1m window: 3m resources: limits: cpus: '0.5' memory: 512M reservations: memory: 410M docker-compose.tmpl.yml→deploy/docker-compose.tmpl.yml +2 −2 Original line number Diff line number Diff line Loading @@ -3,8 +3,6 @@ version: '3.5' services: backup-db: image: ${IMAGE_NAME}:${IMAGE_TAG:-latest} networks: - postgres-net environment: - POSTGRES_USER - POSTGRES_PASSWORD Loading @@ -12,6 +10,8 @@ services: - BUCKET_BACKUP_DB - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY networks: - postgres-net networks: postgres-net: Loading Loading
.gitlab-ci.yml +55 −29 Original line number Diff line number Diff line Loading @@ -3,13 +3,15 @@ stages: - test-package - deploy docker-build-commit-non-master-branches: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind docker-build-commit-non-master-branches: stage: package image: docker:stable only: - branches except: Loading @@ -23,10 +25,6 @@ docker-build-commit-non-master-branches: docker-build-commit-master-branch: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind only: - master except: Loading @@ -39,10 +37,6 @@ docker-build-commit-master-branch: docker-tag-already-built-image: stage: package image: docker:stable variables: DOCKER_DRIVER: overlay2 services: - docker:dind only: - tags except: Loading @@ -55,11 +49,7 @@ docker-tag-already-built-image: container-scanning: stage: test-package image: docker:stable variables: DOCKER_DRIVER: overlay2 allow_failure: true services: - docker:stable-dind only: - branches except: Loading @@ -84,26 +74,61 @@ deploy-dev: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${DEV_SSH_REMOTE} SERVICE: ${CI_PROJECT_NAME} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml services: - docker:dind POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOSTNAME: ${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB: ${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} environment: name: dev only: - dev except: - schedules when: manual deploy-supporting-branch: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: SSH_REMOTE: ${DEV_SSH_REMOTE} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOSTNAME: ${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB: ${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} POSTGRES_USER=${POSTGRES_USER} POSTGRES_PASSWORD=${POSTGRES_PASSWORD} POSTGRES_HOSTNAME=${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB=${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY} environment: name: dev only: - branches except: - master - dev - schedules when: manual Loading @@ -111,15 +136,19 @@ deploy-pro: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml services: - docker:dind AWS_REGION: ${AWS_REGION} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_HOSTNAME: ${POSTGRES_HOSTNAME} BUCKET_BACKUP_DB: ${BUCKET_BACKUP_DB} AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID} AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY} script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} Loading @@ -138,15 +167,12 @@ scheduled-deploy-pro: stage: deploy image: registry.gitlab.com/redmic-project/docker/docker-deploy:latest variables: DOCKER_DRIVER: overlay2 SSH_REMOTE: ${PRO_SSH_REMOTE} STACK: postgres SERVICES_TO_CHECK: postgres_${CI_PROJECT_NAME} IMAGE_NAME: ${CI_REGISTRY_IMAGE} IMAGE_TAG: ${CI_COMMIT_SHA} COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml services: - docker:dind script: - > deploy.sh IMAGE_NAME=${IMAGE_NAME} IMAGE_TAG=${IMAGE_TAG} COMPOSE_FILE=${COMPOSE_FILE} Loading
deploy/docker-compose.dev.yml 0 → 100644 +17 −0 Original line number Diff line number Diff line version: '3.5' services: backup-db: deploy: mode: replicated replicas: 1 restart_policy: condition: on-failure delay: 1m window: 3m resources: limits: cpus: '0.5' memory: 512M reservations: memory: 410M
docker-compose.prod.yml→deploy/docker-compose.prod.yml +8 −1 Original line number Diff line number Diff line Loading @@ -11,4 +11,11 @@ services: - engine.labels.availability_zone == ${AWS_REGION}${DESIRED_WORKER_ID} restart_policy: condition: on-failure max_attempts: 3 delay: 1m window: 3m resources: limits: cpus: '0.5' memory: 512M reservations: memory: 410M
docker-compose.tmpl.yml→deploy/docker-compose.tmpl.yml +2 −2 Original line number Diff line number Diff line Loading @@ -3,8 +3,6 @@ version: '3.5' services: backup-db: image: ${IMAGE_NAME}:${IMAGE_TAG:-latest} networks: - postgres-net environment: - POSTGRES_USER - POSTGRES_PASSWORD Loading @@ -12,6 +10,8 @@ services: - BUCKET_BACKUP_DB - AWS_ACCESS_KEY_ID - AWS_SECRET_ACCESS_KEY networks: - postgres-net networks: postgres-net: Loading