diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..9878aa6 --- /dev/null +++ b/.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 + diff --git a/Docker/Dockerfile_FE_Host b/Docker/Dockerfile_FE_Host index 0425bbc..a6ab77c 100644 --- a/Docker/Dockerfile_FE_Host +++ b/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 diff --git a/Docker/config/restart-host.sh b/Docker/config/restart-host.sh new file mode 100755 index 0000000..8bbabfe --- /dev/null +++ b/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 +