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

#docker run --network=host --ulimit memlock=-1 docker.dragonflydb.io/dragonflydb/dragonfly
stages:
  - BUILD_PRO
  - SIV2CPOM01
  - UIV2CPOW01
  - UIV2CPOW02
  - DIV2CPOM01


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

BUILD_PRO: # Acronimo: Build produccion
  tags:
    - ovh-infonite-worker-01
  stage: BUILD_PRO
  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

SIV2CPOM01:
  tags:
    - invoicy-v2-clouding-pro-manager-01
  stage: SIV2CPOM01
  script:
    - docker login -u gitlab-ci-token -p $CI_JOB_TOKEN registry.gitlab.com
    - docker stack rm $NAME_STACK
    - sleep 20
  needs: [BUILD_PRO]
  #when: manual
  
UIV2CPOW01:
  before_script:
    - export IMAGE_APP=${IMAGE_APP}
    - export IMAGE_TAG=${IMAGE_TAG}
    - export NODE_ENV=${NODE_ENV}
  tags:
    - invoicy-v2-clouding-pro-worker-01
  stage: UIV2CPOW01
  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: [SIV2CPOM01]

UIV2CPOW02:
  before_script:
    - export IMAGE_APP=${IMAGE_APP}
    - export IMAGE_TAG=${IMAGE_TAG}
    - export NODE_ENV=${NODE_ENV}
  tags:
    - invoicy-v2-clouding-pro-worker-02
  stage: UIV2CPOW02
  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: [SIV2CPOM01]

DIV2CPOM01:
  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-pro-manager-01
  stage: DIV2CPOM01
  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: ["UIV2CPOW01","UIV2CPOW02"]