.docker_login_registry: &docker-login-registry - docker login -u $REGISTRY_USER -p $REGISTRY_PASSWORD $REGISTRY .docker_login_stdin: &docker-login-stdin - echo $REGISTRY_PASSWORD | docker login -u $REGISTRY_USER $REGISTRY --password-stdin .docker_login_stdin_base64: &docker-login-stdin-base64 - echo $REGISTRY_PASSWORD | base64 -d | docker login -u $REGISTRY_USER $REGISTRY --password-stdin .docker_context_create: &docker-context-create - docker context create ${CI_PROJECT_NAME}-${ENV} --docker "host=tcp://${HOST},ca=${CA_FILE},cert=${CERT_FILE},key=${KEY_FILE}" .docker_context_deploy: &docker-context-deploy - DOCKER_CONTEXT=${CI_PROJECT_NAME}-${ENV} docker compose ${COMPOSE_FILES} pull - DOCKER_CONTEXT=${CI_PROJECT_NAME}-${ENV} docker compose ${COMPOSE_FILES} up -d --force-recreate .deploy_from_registry: stage: deploy image: ${DOCKER_IMAGE} environment: name: ${ENV} variables: DOCKER_HOST: "" ENV: test HOST: CA_FILE: CERT_FILE: KEY_FILE: REGISTRY: $DOCKER_REGISTRY REGISTRY_USER: $EXUS_USER REGISTRY_PASSWORD: $NEXUS_PASS_BASE64 COMPOSE_FILES: -f docker-compose.yml script: - env | sort - *docker-login-stdin-base64 - *docker-context-create - *docker-context-deploy