diff --git a/deploy_docker-compose-context.yml b/deploy_docker-compose-context.yml new file mode 100644 index 0000000..1ed07c1 --- /dev/null +++ b/deploy_docker-compose-context.yml @@ -0,0 +1,38 @@ +.docker_login_docker_hub: &docker-login-docker-hub + - echo $DOCKER_REGISTRY_TOKEN | docker login -u $DOCKER_REGISTRY_USERNAME $DOCKER_REGISTRY_PATH --password-stdin + +.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_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: $CI_REGISTRY + REGISTRY_USER: $CI_REGISTRY_USER + REGISTRY_PASSWORD: $CI_REGISTRY_PASSWORD + COMPOSE_FILES: -f docker-compose.yml + script: + - env | sort + - *docker-login-stdin + - *docker-context-create + - *docker-context-deploy +