stages: - build_docker - build_frontend 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 build_frontend: stage: build_frontend tags: - docker image: registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build 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/ only: changes: - Frontend/* environment: name: deploy url: https://$DEPLOY_ENV_TARGET build_docker_host: stage: build_docker tags: - docker-builder script: - docker build -f Docker/Dockerfile_FE_Host.dockerfile -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" only: changes: - Docker/Dockerfile_FE_Host.dockerfile - Docker/config/* build_docker_builder: stage: build_docker 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.dockerfile -t registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build . - docker push registry.gitlab.com/fia72-dev/eva_lernsituation/frontend-build only: changes: - Docker/Dockerfile_FE_Builder.dockerfile - Docker/config/* - Frontend/package.json - Frontend/package-lock.json - .gitlab-ci.yml