devops/deploy_docker-compose-context.yml

39 lines
1.3 KiB
YAML

.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