diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4ce1da4..93597ea 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,24 +7,6 @@ variables: SERVICE_NAME: slides DOCKER_TLS_CERTDIR: "/certs" -deploy_docker: - variables: - DOCKER_HOST: "ssh://pi@henriburau.de" - stage: deploy - image: ubuntu - tags: - - docker - before_script: - - 'which ssh-agent || ( apt update -y && apt install openssh-client -y )' - - eval $(ssh-agent -s) - - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - - - mkdir -p ~/.ssh - - chmod 700 ~/.ssh - script: - - ssh $DOCKER_HOST 'docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $DOCKER_REGISTRY' - - ssh $DOCKER_HOST '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' - - ssh $DOCKER_HOST 'docker service update --image $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$SERVICE_NAME:latest $DOCKER_SERVICE_NAME' - create_image: stage: dockerize image: docker:19.03.3 @@ -38,3 +20,24 @@ create_image: - 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 + +deploy_docker: + variables: + DOCKER_HOST: "ssh://pi@henriburau.de" + stage: deploy + image: ubuntu + only: + - release + tags: + - docker + before_script: + - 'which ssh-agent || ( apt update -y && apt install openssh-client -y )' + - eval $(ssh-agent -s) + - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - + - mkdir -p ~/.ssh + - chmod 700 ~/.ssh + script: + - ssh $DOCKER_HOST 'docker login -u gitlab-ci-token -p $CI_JOB_TOKEN $DOCKER_REGISTRY' + - ssh $DOCKER_HOST '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' + - ssh $DOCKER_HOST 'docker service update --image $DOCKER_REGISTRY/$CI_PROJECT_NAMESPACE/$SERVICE_NAME:latest $DOCKER_SERVICE_NAME' +