39 lines
1.3 KiB
YAML
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
|
|
|