Commit 63282be3 authored by Pedro Eduardo Trujillo's avatar Pedro Eduardo Trujillo
Browse files

Renueva definición de trabajos de despliegue

Mueve variables de trabajos de despliegue al bloque de variables del
trabajo, en lugar de definirlas globalmente.

Actualiza valor por defecto de stack, servicios a comprobar e imagen de
despliegue.

Elimina definición por defecto de nombre de imagen y etiqueta a
desplegar, ya que rompe despliegue de servicios que no poseen una
construcción de imagen Docker propia.

Define variables por entorno para puerto SSH y clave privada de
despliegue.

Usa 'tag' en lugar de 'version' para identificar trabajos de despliegue
disparados por creación de tags (denominación más adecuada).

Introduce anchors y aliases para reducir reescritura de configuración.
parent 27592701
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -3,7 +3,7 @@ include:

.deploy:
  variables:
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}-${FUNCTIONAL_UNIT_MICROSERVICE_NAME}
    SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME}-${FUNCTIONAL_UNIT_MICROSERVICE_NAME}

.deploy-commands:
  extends: .deploy
@@ -37,22 +37,22 @@ include:
  environment: &deploy-microservice-production-environment
    name: pro/${CI_PROJECT_NAME}-${FUNCTIONAL_UNIT_MICROSERVICE_NAME}

.deploy-view-development:
  extends: .deploy-view
.deploy-commands-development:
  extends: .deploy-commands
  variables: *deploy-microservice-development-variables
  environment: *deploy-microservice-development-environment

.deploy-view-production:
  extends: .deploy-view
.deploy-commands-production:
  extends: .deploy-commands
  variables: *deploy-microservice-production-variables
  environment: *deploy-microservice-production-environment

.deploy-commands-development:
  extends: .deploy-commands
.deploy-view-development:
  extends: .deploy-view
  variables: *deploy-microservice-development-variables
  environment: *deploy-microservice-development-environment

.deploy-commands-production:
  extends: .deploy-commands
.deploy-view-production:
  extends: .deploy-view
  variables: *deploy-microservice-production-variables
  environment: *deploy-microservice-production-environment
+18 −17
Original line number Diff line number Diff line
.deploy:
  stage: deploy
  dependencies: []
  image: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG}
  variables:
  DEPLOYMENT_IMAGE: ${DOCKER_DEPLOY_IMAGE_NAME}:${DOCKER_DEPLOY_IMAGE_TAG}
  STACK: stack
    DOCKER_DEPLOY_IMAGE_NAME: redmic/docker-docker-deploy
    DOCKER_DEPLOY_IMAGE_TAG: latest
    STACK: ${CI_PROJECT_NAME}
    REGISTRY_URL: ${CI_REGISTRY}
    REGISTRY_USER: ${CI_DEPLOY_USER}
    REGISTRY_PASS: ${CI_DEPLOY_PASSWORD}
    SERVICES_TO_CHECK: ${CI_PROJECT_NAME}_${CI_PROJECT_NAME}
    STATUS_CHECK_RETRIES: 10
    STATUS_CHECK_INTERVAL: 20
    STATUS_CHECK_DELAY: 120
    STATUS_CHECK_MIN_HITS: 3
  DD_IMAGE_NAME: ${CI_REGISTRY_IMAGE}
  DD_IMAGE_TAG: ${CI_COMMIT_SHA}

.deploy:
  stage: deploy
  image: ${DEPLOYMENT_IMAGE}
  variables:
    SERVICES_TO_CHECK: ${STACK}_${CI_PROJECT_NAME}
  script: deploy.sh
  dependencies: []
  script: deploy
  when: manual

.deploy-development:
  extends: .deploy
  variables:
    SSH_REMOTE: ${DEV_SSH_REMOTE}
    SSH_PORT: ${DEV_SSH_PORT}
    DEPLOY_KEY: ${DEV_DEPLOY_KEY}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.dev.yml
    PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${DEV_PUBLIC_HOSTNAME}
@@ -34,6 +33,8 @@ variables:
  extends: .deploy
  variables:
    SSH_REMOTE: ${PRO_SSH_REMOTE}
    SSH_PORT: ${PRO_SSH_PORT}
    DEPLOY_KEY: ${PRO_DEPLOY_KEY}
    COMPOSE_FILE: docker-compose.tmpl.yml:docker-compose.prod.yml
    PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
    DD_PUBLIC_HOSTNAME: ${PRO_PUBLIC_HOSTNAME}
+29 −36
Original line number Diff line number Diff line
include:
  - local: '/_deployment-functional-unit.yml'

deploy-commands-support-branch-development:
  extends: .deploy-commands-development
.deploy-support-branch: &deploy-support-branch
  only:
    - branches
  except:
    - master
    - schedules

deploy-commands-stable-branch-development:
deploy-commands-support-branch-development:
  extends: .deploy-commands-development
  only:
    - master
  except:
    - schedules
  <<: *deploy-support-branch

deploy-commands-stable-branch-production:
  extends: .deploy-commands-production
deploy-view-support-branch-development:
  extends: .deploy-view-development
  <<: *deploy-support-branch

.deploy-stable-branch: &deploy-stable-branch
  only:
    - master
  except:
    - schedules

deploy-commands-version-development:
deploy-commands-stable-branch-development:
  extends: .deploy-commands-development
  only:
    - tags
  <<: *deploy-stable-branch

deploy-commands-version-production:
deploy-commands-stable-branch-production:
  extends: .deploy-commands-production
  only:
    - tags

deploy-view-support-branch-development:
  extends: .deploy-view-development
  only:
    - branches
  except:
    - master
    - schedules
  <<: *deploy-stable-branch

deploy-view-stable-branch-development:
  extends: .deploy-view-development
  only:
    - master
  except:
    - schedules
  <<: *deploy-stable-branch

deploy-view-stable-branch-production:
  extends: .deploy-view-production
  only:
    - master
  except:
    - schedules
  <<: *deploy-stable-branch

deploy-view-version-development:
  extends: .deploy-view-development
.deploy-tag: &deploy-tag
  only:
    - tags

deploy-view-version-production:
deploy-commands-tag-development:
  extends: .deploy-commands-development
  <<: *deploy-tag

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

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

deploy-view-tag-production:
  extends: .deploy-view-production
  only:
    - tags
  <<: *deploy-tag
+17 −12
Original line number Diff line number Diff line
include:
  - local: '/_deployment.yml'

deploy-support-branch-development:
  extends: .deploy-development
.deploy-support-branch: &deploy-support-branch
  only:
    - branches
  except:
    - master
    - schedules

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

.deploy-stable-branch: &deploy-stable-branch
  only:
    - master
  except:
    - schedules

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

deploy-stable-branch-production:
  extends: .deploy-production
  only:
    - master
  except:
    - schedules
  <<: *deploy-stable-branch

deploy-version-development:
  extends: .deploy-development
.deploy-tag: &deploy-tag
  only:
    - tags

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

deploy-tag-production:
  extends: .deploy-production
  only:
    - tags
  <<: *deploy-tag