From 31f8636c33f715657153b9548a3b84895a980a34 Mon Sep 17 00:00:00 2001 From: Jonas Groeger <jonas.groeger@codecentric.de> Date: Mon, 21 Mar 2022 15:24:31 +0100 Subject: [PATCH] feat(deploy): Allow branch deployments (planning#346) --- ci/gitlab-ci.yml | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/ci/gitlab-ci.yml b/ci/gitlab-ci.yml index 648c3d3..e344101 100644 --- a/ci/gitlab-ci.yml +++ b/ci/gitlab-ci.yml @@ -6,9 +6,9 @@ - echo "$UBERSPACE_KNOWN_HOST" >> ~/.ssh/known_hosts include: - - project: 'fit-connect/pipeline' + - project: "fit-connect/pipeline" ref: main - file: 'trivy.gitlab-ci.yml' + file: "trivy.gitlab-ci.yml" cache: paths: @@ -19,6 +19,9 @@ stages: - build - deploy +variables: + DEPLOY_SERVER: fitko@dorado.uberspace.de + trivy-filesystem: extends: .trivy-filesystem variables: @@ -36,10 +39,29 @@ build: - out/ expire_in: 1 hour +deploy:review: + stage: deploy + image: alpine:latest + environment: + name: review/$CI_COMMIT_REF_NAME + on_stop: undeploy:review + auto_stop_in: 1 week + url: https://docs-preview.fitko.dev/review/$CI_COMMIT_REF_SLUG/ + dependencies: + - build + rules: + - if: $CI_COMMIT_BRANCH != $CI_DEFAULT_BRANCH + before_script: + - *pre-deploy-uber-space-setup + script: + - rsync -rLvz --delete --checksum -e "ssh -o CheckHostIP=no" --ipv4 --progress ./out/. $DEPLOY_SERVER:docs-preview.fitko.dev/review/$CI_COMMIT_REF_SLUG/ + deploy: stage: deploy - image: - name: alpine:latest + image: alpine:latest + environment: + name: live + url: https://docs-preview.fitko.dev/ dependencies: - build rules: @@ -47,4 +69,20 @@ deploy: before_script: - *pre-deploy-uber-space-setup script: - - rsync -rLvz --delete --checksum -e "ssh -o CheckHostIP=no" --ipv4 --progress ./out/. fitko@dorado.uberspace.de:docs-preview.fitko.dev + - rsync -rLvz --delete --checksum -e "ssh -o CheckHostIP=no" --ipv4 --progress ./out/. $DEPLOY_SERVER:docs-preview.fitko.dev + +undeploy:review: + stage: .post + image: alpine:latest + environment: + name: review/$CI_COMMIT_REF_NAME + action: stop + needs: + - deploy:review + rules: + - if: $CI_MERGE_REQUEST_ID + when: manual + before_script: + - *pre-deploy-uber-space-setup + script: + - ssh $DEPLOY_SERVER "rm -rf docs-preview.fitko.dev/review/$CI_COMMIT_REF_SLUG/" -- GitLab