Browse Source

Merge branch 'f/gitlab-ci-pipelines-einrichten' into 'develop'

Resolve "Gitlab CI Pipelines einrichten"

Closes #3

See merge request fia72-dev/eva_lernsituation!2
f/2-backend-asp-net-core-initialisieren
Levin Faber 7 years ago
parent
commit
b79e566d18
  1. 58
      .gitlab-ci.yml
  2. 1
      Docker/Dockerfile_FE_Host
  3. 7
      Docker/config/restart-host.sh

58
.gitlab-ci.yml

@ -0,0 +1,58 @@
stages:
- build
build_frontend:
stage: build
tags:
- docker
image: registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build
before_script:
- eval $(ssh-agent -s)
- ssh-add <(echo "${DEPLOY_ENV_KEY}")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- cp -r Frontend/src/ /workdir/src/
- cp -r Frontend/public/ /workdir/public/
script:
- pwd
- ls -la
- cd /workdir
- npm run build
- ls -la /workdir/build
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "mkdir -p /home/$DEPLOY_ENV_USER/serve"
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "rm -rf /home/$DEPLOY_ENV_USER/serve/*"
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "mkdir -p /home/$DEPLOY_ENV_USER/serve/$CI_COMMIT_REF_NAME"
- rsync --progress -av -e ssh /workdir/build/* $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET:/home/$DEPLOY_ENV_USER/serve/
build_docker_host:
stage: build
tags:
- docker-builder
before_script:
- eval $(ssh-agent -s)
- ssh-add <(echo "${DEPLOY_ENV_KEY}")
- mkdir -p ~/.ssh
- echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config
- docker info
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- docker build -f Docker/Dockerfile_FE_Host -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve .
- docker push registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve
- ls -la Docker/config/restart-host.sh
- rsync --progress -av -e ssh Docker/config/restart-host.sh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET:/home/$DEPLOY_ENV_USER/restart-host.sh
- ssh $DEPLOY_ENV_USER@$DEPLOY_ENV_TARGET "./restart-host.sh"
when: manual
build_docker_builder:
stage: build
tags:
- docker-builder
before_script:
- docker info
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
script:
- docker build -f Docker/Dockerfile_FE_Builder -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build .
- docker push registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build
when: manual

1
Docker/Dockerfile_FE_Host

@ -2,5 +2,4 @@
FROM nginx
COPY Frontend/dist /usr/share/nginx/html
COPY Docker/config/nginx.conf /etc/nginx/nginx.conf

7
Docker/config/restart-host.sh

@ -0,0 +1,7 @@
#! /bin/bash
docker login -u gitlab+deploy-token-66068 -p vD23SzzitUn8y8xGknKz registry.gitlab.com
docker stop eva_frontend_serve
docker rm eva_frontend_serve
docker rmi registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve
docker run -d -p 8083:80 -v /home/gitlab/serve:/usr/share/nginx/html:ro --name "eva_frontend_serve" registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-serve
Loading…
Cancel
Save