Update .gitlab-ci.yml file

This commit is contained in:
Administrator 2022-04-30 12:21:19 +00:00
parent f3ca70d348
commit 64d091e352

63
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,63 @@
stages: # List of stages for jobs, and their order of execution
- build
- docker
- deploy
variables:
CI_REGISTRY_IMAGE: docker.dergeorg.at/dergeorg
SERVICE: todo-frontend
Docker_name: gitlab-todo-frontend
TAG_LATEST: $CI_REGISTRY_IMAGE/$Docker_name:latest
Project_name: todo-frontend
Docker_url: docker.dergeorg.at
Docker_namespace: dergeorg
DOCKER_TAG: latest
ENV: test
PORT_HOST: 9998
PORT_CONTAINER: 80
EUREKA_HOSTNAME: 192.168.1.65
EUREKA_PORT: 9995
CONFIG_PORT: 1111
CONFIG_URL: service.todo.gitlab.dergeorg.at
CONFIG_HTTP: https
build-job: # Building jar file
image: maven:3.6.3-jdk-11-slim
stage: build
script:
- echo "$APPLICATION_TODO_FRONTEND_TS" > src/environments/environment.prod.ts
- npm install
- npm run build
artifacts:
paths:
- target/*.jar
publish-job: # Building docker image and publishing it
image: docker:latest
stage: docker
services:
- docker:dind
script:
- docker login $DOCKER_URL -u $DOCKER_USER -p $DOCKER_PW
- docker build -t $DOCKER_URL/$TAG_LATEST .
- docker push $DOCKER_URL/$TAG_LATEST
deploy-job: # Deploy docker image on ssh server
image: alpine:latest
stage: deploy
tags:
- deployment
before_script:
- 'command -v ssh-agent >/dev/null || ( apk add --update openssh )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
- mkdir -p ~/.ssh
- chmod 700 ~/.ssh
- ssh-keyscan $SERVER_IP >> ~/.ssh/known_hosts
- chmod 644 ~/.ssh/known_hosts
script:
- ssh $SSH_USER@$SERVER_IP "docker login $DOCKER_URL -u $DOCKER_USER -p $DOCKER_PW"
- ssh $SSH_USER@$SERVER_IP "docker push $DOCKER_URL/$TAG_LATEST"
- ssh $SSH_USER@$SERVER_IP "docker container rm -f $Docker_name || true"
- ssh $SSH_USER@$SERVER_IP "docker run -it -d --name $Docker_name -e -p $PORT_HOST:$PORT_CONTAINER $DOCKER_URL/$TAG_LATEST"