Add ci
This commit is contained in:
42
.gitlab-ci.yml
Normal file
42
.gitlab-ci.yml
Normal file
@ -0,0 +1,42 @@
|
||||
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
|
Reference in New Issue
Block a user