diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1203c68..afea2d6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -154,6 +154,54 @@ deploy-all: rules: - if: $CI_COMMIT_BRANCH == "main" +deploy-dev: + stage: deploy + image: alpine:latest + before_script: + - apk add --no-cache openssh-client sed + - eval $(ssh-agent -s) + - ssh-add <(echo "$CI_SSH_KEY" | tr -d '\r') + script: + - sed -i -e "s|DOCKER_REGISTRY_REPO|$CI_REGISTRY_IMAGE|" docker-compose.dev.yml + - sed -i -e "s|DEV_TAG|dev|" docker-compose.dev.yml + - 'scp -P $CI_SSH_PORT -o StrictHostKeyChecking=no -o LogLevel=ERROR ./docker-compose.dev.yml + ./reverseproxy.dev.conf $CI_SSH_USER@$CI_SSH_DEV_HOST:/home/$CI_SSH_USER/docker/htwkalender/ + + ' + - 'ssh -p $CI_SSH_PORT -o StrictHostKeyChecking=no -o LogLevel=ERROR $CI_SSH_USER@$CI_SSH_DEV_HOST + "cd /home/$CI_SSH_USER/docker/htwkalender/ && docker login -u $CI_REGISTRY_USER + -p $CI_REGISTRY_PASSWORD $CI_REGISTRY && docker compose -f ./docker-compose.dev.yml + down && docker compose -f ./docker-compose.dev.yml up -d --remove-orphans && docker + logout" + + ' + rules: + - if: $CI_COMMIT_BRANCH == "development" +deploy-all: + stage: deploy + image: alpine:latest + before_script: + - apk add --no-cache openssh-client sed # install dependencies + - eval $(ssh-agent -s) # set some ssh variables + - ssh-add <(echo "$CI_SSH_KEY" | tr -d '\r') + script: + # replace some placeholders + - sed -i -e "s|DOCKER_REGISTRY_REPO|$CI_REGISTRY_IMAGE|" docker-compose.prod.yml + - sed -i -e "s|PROD_TAG|latest|" docker-compose.prod.yml + # upload necessary files to the server + - > + scp -P $CI_SSH_PORT -o StrictHostKeyChecking=no -o LogLevel=ERROR ./docker-compose.prod.yml ./reverseproxy.conf + $CI_SSH_USER@$CI_SSH_HOST:/home/$CI_SSH_USER/docker/htwkalender/ + # ssh to the server and start the service + - > + ssh -p $CI_SSH_PORT -o StrictHostKeyChecking=no -o LogLevel=ERROR $CI_SSH_USER@$CI_SSH_HOST + "cd /home/$CI_SSH_USER/docker/htwkalender/ && + docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY && + docker compose -f ./docker-compose.prod.yml down && docker compose -f ./docker-compose.prod.yml up -d --remove-orphans && docker logout && + docker exec --user root htwkalender-htwkalender-frontend-1 /bin/sh -c \"echo 'google-site-verification: $GOOGLE_VERIFICATION.html' > ./$GOOGLE_VERIFICATION.html\" " + rules: + - if: $CI_COMMIT_BRANCH == "main" + include: - local: 'charts/ci-build-deploy.yml' - template: Security/Dependency-Scanning.gitlab-ci.yml