Commit 932ab601 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Reubica plantillas de deployment, retrocompatible

parent 335efc7b
Loading
Loading
Loading
Loading
+4 −71
Original line number Diff line number Diff line
.deploy:
  stage: deploy
  dependencies: []
  image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG}
  variables:
    DOCKER_DEPLOY_IMAGE_NAME: redmic/docker-docker-deploy
    DOCKER_DEPLOY_IMAGE_TAG: latest
    STACK: ${CI_PROJECT_NAME}
    DEPLOY_DIR_NAME: deploy
    REGISTRY_URL: ${CI_REGISTRY}
    REGISTRY_USER: ${CI_DEPLOY_USER}
    REGISTRY_PASS: ${CI_DEPLOY_PASSWORD}
  before_script:
    - >
      if [ -z ${COMPOSE_FILE} ];
      then
        firstNewComposeFile=$(echo "${NEW_COMPOSE_FILE}" | cut -d ':' -f 1);
        newSingleComposeFile=compose.yaml;
        firstOldComposeFile=$(echo "${OLD_COMPOSE_FILE}" | cut -d ':' -f 1);
        oldSingleComposeFile=docker-compose.yml;
        if [ -f ${DEPLOY_DIR_NAME}/${firstNewComposeFile} ];
        then
          echo "Detected '${firstNewComposeFile}' compose file, nice!";
          composeFile="${NEW_COMPOSE_FILE}";
        elif [ -f ${DEPLOY_DIR_NAME}/${newSingleComposeFile} ];
        then
          echo "Detected '${newSingleComposeFile}' compose file, nice!";
          composeFile="${newSingleComposeFile}";
        elif [ -f ${DEPLOY_DIR_NAME}/${firstOldComposeFile} ];
        then
          echo "Detected '${firstOldComposeFile}' compose file (old naming)";
          composeFile="${OLD_COMPOSE_FILE}";
        elif [ -f ${DEPLOY_DIR_NAME}/${oldSingleComposeFile} ];
        then
          echo "Detected '${oldSingleComposeFile}' compose file (old naming)";
          composeFile="${oldSingleComposeFile}";
        else
          echo "No compose file specified or detected, using docker-deploy default for COMPOSE_FILE";
        fi;
        if [ ! -z ${composeFile} ];
        then
          echo "Automatically set COMPOSE_FILE to '${composeFile}'";
          export COMPOSE_FILE="${composeFile}";
        fi;
      fi;
  script: deploy
# Only for backward compatibility, migrate ASAP your project includes to templates included here!

.deploy-development:
  extends: .deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SSH_PORT: ${DEV_SSH_PORT}
    DEPLOY_KEY: ${DEV_DEPLOY_KEY}
    NEW_COMPOSE_FILE: compose.tmpl.yaml:compose.dev.yaml
    OLD_COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  environment:
    name: dev

.deploy-production:
  extends: .deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    SSH_PORT: ${PRO_SSH_PORT}
    DEPLOY_KEY: ${PRO_DEPLOY_KEY}
    NEW_COMPOSE_FILE: compose.tmpl.yaml:compose.prod.yaml
    OLD_COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml
    PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
  environment:
    name: pro
include:
  - local: '/deployment-service/_docker-deploy.yml'
  - local: '/deprecation-warning.yml'
+4 −28
Original line number Diff line number Diff line
.deploy-branch-base:
  variables: &deploy-branch-base-variables
    DD_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/${CI_COMMIT_REF_SLUG}
    DD_IMAGE_TAG: ${CI_COMMIT_SHA}
# Only for backward compatibility, migrate ASAP your project includes to templates included here!

.deploy-tag-base:
  variables: &deploy-tag-base-variables
    DD_IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    DD_IMAGE_TAG: ${CI_COMMIT_TAG}

deploy-support-branch-development:
  variables:
    <<: *deploy-branch-base-variables

deploy-stable-branch-development:
  variables:
    <<: *deploy-branch-base-variables

deploy-stable-branch-production:
  variables:
    <<: *deploy-branch-base-variables

deploy-tag-development:
  variables:
    <<: *deploy-tag-base-variables

deploy-tag-production:
  variables:
    <<: *deploy-tag-base-variables
include:
  - local: '/deployment-service/custom-image.yml'
  - local: '/deprecation-warning.yml'
+72 −0
Original line number Diff line number Diff line
.deploy:
  stage: deploy
  dependencies: []
  image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG}
  variables:
    DOCKER_DEPLOY_IMAGE_NAME: redmic/docker-docker-deploy
    DOCKER_DEPLOY_IMAGE_TAG: latest
    STACK: ${CI_PROJECT_NAME}
    DEPLOY_DIR_NAME: deploy
    REGISTRY_URL: ${CI_REGISTRY}
    REGISTRY_USER: ${CI_DEPLOY_USER}
    REGISTRY_PASS: ${CI_DEPLOY_PASSWORD}
  before_script:
    - >
      if [ -z ${COMPOSE_FILE} ];
      then
        firstNewComposeFile=$(echo "${NEW_COMPOSE_FILE}" | cut -d ':' -f 1);
        newSingleComposeFile=compose.yaml;
        firstOldComposeFile=$(echo "${OLD_COMPOSE_FILE}" | cut -d ':' -f 1);
        oldSingleComposeFile=docker-compose.yml;
        if [ -f ${DEPLOY_DIR_NAME}/${firstNewComposeFile} ];
        then
          echo "Detected '${firstNewComposeFile}' compose file, nice!";
          composeFile="${NEW_COMPOSE_FILE}";
        elif [ -f ${DEPLOY_DIR_NAME}/${newSingleComposeFile} ];
        then
          echo "Detected '${newSingleComposeFile}' compose file, nice!";
          composeFile="${newSingleComposeFile}";
        elif [ -f ${DEPLOY_DIR_NAME}/${firstOldComposeFile} ];
        then
          echo "Detected '${firstOldComposeFile}' compose file (old naming)";
          composeFile="${OLD_COMPOSE_FILE}";
        elif [ -f ${DEPLOY_DIR_NAME}/${oldSingleComposeFile} ];
        then
          echo "Detected '${oldSingleComposeFile}' compose file (old naming)";
          composeFile="${oldSingleComposeFile}";
        else
          echo "No compose file specified or detected, using docker-deploy default for COMPOSE_FILE";
        fi;
        if [ ! -z ${composeFile} ];
        then
          echo "Automatically set COMPOSE_FILE to '${composeFile}'";
          export COMPOSE_FILE="${composeFile}";
        fi;
      fi;
  script: deploy

.deploy-development:
  extends: .deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SSH_PORT: ${DEV_SSH_PORT}
    DEPLOY_KEY: ${DEV_DEPLOY_KEY}
    NEW_COMPOSE_FILE: compose.tmpl.yaml:compose.dev.yaml
    OLD_COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
  environment:
    name: dev

.deploy-production:
  extends: .deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    SSH_PORT: ${PRO_SSH_PORT}
    DEPLOY_KEY: ${PRO_DEPLOY_KEY}
    NEW_COMPOSE_FILE: compose.tmpl.yaml:compose.prod.yaml
    OLD_COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml
    PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
  environment:
    name: pro
+29 −0
Original line number Diff line number Diff line
.deploy-branch-base:
  variables: &deploy-branch-base-variables
    DD_IMAGE_NAME: ${CI_REGISTRY_IMAGE}/${CI_COMMIT_REF_SLUG}
    DD_IMAGE_TAG: ${CI_COMMIT_SHA}

.deploy-tag-base:
  variables: &deploy-tag-base-variables
    DD_IMAGE_NAME: ${CI_REGISTRY_IMAGE}
    DD_IMAGE_TAG: ${CI_COMMIT_TAG}

deploy-support-branch-development:
  variables:
    <<: *deploy-branch-base-variables

deploy-stable-branch-development:
  variables:
    <<: *deploy-branch-base-variables

deploy-stable-branch-production:
  variables:
    <<: *deploy-branch-base-variables

deploy-tag-development:
  variables:
    <<: *deploy-tag-base-variables

deploy-tag-production:
  variables:
    <<: *deploy-tag-base-variables
+51 −0
Original line number Diff line number Diff line
include:
  - local: '/deployment-service/_docker-deploy.yml'

.deploy-support-branch: &deploy-support-branch
  rules:
    - if: $CI_MERGE_REQUEST_ID ||
          $CI_COMMIT_TAG ||
          $CI_PIPELINE_SOURCE == "schedule" ||
          $CI_COMMIT_BRANCH == "master" ||
          $CI_COMMIT_BRANCH == "main"
      when: never
    - if: $CI_COMMIT_BRANCH
      when: manual
      allow_failure: true

deploy-support-branch-development:
  extends: .deploy-development
  <<: *deploy-support-branch

.deploy-stable-branch: &deploy-stable-branch
  rules:
    - if: $CI_MERGE_REQUEST_ID ||
          $CI_COMMIT_TAG ||
          $CI_PIPELINE_SOURCE == "schedule"
      when: never
    - if: $CI_COMMIT_BRANCH == "master" ||
          $CI_COMMIT_BRANCH == "main"
      when: manual
      allow_failure: true

deploy-stable-branch-development:
  extends: .deploy-development
  <<: *deploy-stable-branch

deploy-stable-branch-production:
  extends: .deploy-production
  <<: *deploy-stable-branch

.deploy-tag: &deploy-tag
  rules:
    - if: $CI_COMMIT_TAG
      when: manual
      allow_failure: true

deploy-tag-development:
  extends: .deploy-development
  <<: *deploy-tag

deploy-tag-production:
  extends: .deploy-production
  <<: *deploy-tag
Loading