CloudScrapy / config_deploy / pre / .gitlab-ci.yml
.gitlab-ci.yml
Raw
variables:
  IMAGE_APP: "registry.gitlab.com/lucual18/cloud-scrapy/cloud-scrapy"
  IMAGE_TAG: "PRE"
  NAME_STACK: "cloud-scrapy"
  URL_DEPLOY: "cloud-scrapy-pre.invoicy.es"  
  NAME_SERVICE_TRAEFIK: "cloud-scrapy"
  NODE_ENV: "pre"


stages:
  - BUILD_PRE
  - SIV2CPEM01
  - UIV2CPEW01
  - UIV2CPEW02
  - DIV2CPEM01


# ____  ____  ____     ____  ____  _____  ____  __  __  ___  ___  ____  _____  _  _
#(  _ \(  _ \( ___)___(  _ \(  _ \(  _  )(  _ \(  )(  )/ __)/ __)(_  _)(  _  )( \( )
# )___/ )   / )__)(___))___/ )   / )(_)(  )(_) ))(__)(( (__( (__  _)(_  )(_)(  )  (
#(__)  (_)\_)(____)   (__)  (_)\_)(_____)(____/(______)\___)\___)(____)(_____)(_)\_)

BUILD_PRE: # Acronimo: Build Pre produccion
  tags:
    - ovh-infonite-worker-01
  stage: BUILD_PRE
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
    - docker build -t $IMAGE_APP:$IMAGE_TAG .
    - docker push $IMAGE_APP:$IMAGE_TAG
    - docker image rm -f $IMAGE_APP:$IMAGE_TAG
 # when: manual

SIV2CPEM01:
  tags:
    - invoicy-v2-clouding-pre-manager-01
  stage: SIV2CPEM01
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
    - docker stack rm $NAME_STACK
    - sleep 20
  needs: [BUILD_PRE]
  
UIV2CPEW01:
  before_script:
    - export IMAGE_APP=${IMAGE_APP}
    - export IMAGE_TAG=${IMAGE_TAG}
    - export NODE_ENV=${NODE_ENV}
  tags:
    - invoicy-v2-clouding-pre-worker-01
  stage: UIV2CPEW01
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
    #- docker rmi $(docker images | grep "$IMAGE_APP" | awk '{print $3}')
    - docker pull $IMAGE_APP:$IMAGE_TAG
  needs: [SIV2CPEM01]

UIV2CPEW02:
  before_script:
    - export IMAGE_APP=${IMAGE_APP}
    - export IMAGE_TAG=${IMAGE_TAG}
    - export NODE_ENV=${NODE_ENV}
  tags:
    - invoicy-v2-clouding-pre-worker-02
  stage: UIV2CPEW02
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
    #- docker rmi $(docker images | grep "$IMAGE_APP" | awk '{print $3}')
    - docker pull $IMAGE_APP:$IMAGE_TAG
  needs: [SIV2CPEM01]

DIV2CPEM01:
  before_script:
    - export IMAGE_APP=${IMAGE_APP}
    - export NAME_STACK=${NAME_STACK}
    - export IMAGE_TAG=${IMAGE_TAG}
    - export NODE_ENV=${NODE_ENV}  
    - export NAME_SERVICE_TRAEFIK=${NAME_SERVICE_TRAEFIK}
  tags:
    - invoicy-v2-clouding-pre-manager-01
  stage: DIV2CPEM01
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
    - docker stack deploy --compose-file docker-compose.yml $NAME_STACK
  needs: ["UIV2CPEW01","UIV2CPEW02"]