43 lines
1.4 KiB
YAML
43 lines
1.4 KiB
YAML
stages:
|
|
- dockerize
|
|
- deploy
|
|
|
|
variables:
|
|
DOCKER_REGISTRY: "git.haw-hamburg.de:5005"
|
|
SERVICE_NAME: slides
|
|
DOCKER_TLS_CERTDIR: "/certs"
|
|
|
|
deploy_docker:
|
|
variables:
|
|
- DOCKER_HOST: "ssh://henri@henriburau.de"
|
|
stage: deploy
|
|
image: docker:19.03.3
|
|
services:
|
|
- docker:19.03.3-dind
|
|
tags:
|
|
- docker
|
|
before_script:
|
|
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
|
|
- eval $(ssh-agent -s)
|
|
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
|
|
- mkdir -p ~/.ssh
|
|
- chmod 700 ~/.ssh
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $DOCKER_REGISTRY
|
|
- lan-docker service ps $DOCKER_SERVICE_NAME &> /dev/null || lan-docker service create --name $DOCKER_SERVICE_NAME --publish 8081:8080 $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$SERVICE_NAME:latest
|
|
- docker service update --image $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$SERVICE_NAME:latest $DOCKER_SERVICE_NAME
|
|
|
|
create_image:
|
|
stage: dockerize
|
|
image: docker:19.03.3
|
|
services:
|
|
- docker:19.03.3-dind
|
|
tags:
|
|
- dind
|
|
- docker
|
|
script:
|
|
- docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $DOCKER_REGISTRY
|
|
- docker build -t $SERVICE_NAME:latest .
|
|
- docker tag $SERVICE_NAME:latest $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$SERVICE_NAME:latest
|
|
- docker push $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$SERVICE_NAME:latest
|