CI: Add GitLab CI to build and deploy

- Build every branch, but only deploy the main branch
- Deploy the main branch to next.hamburg.ccc.de
This commit is contained in:
June 2023-10-25 02:07:53 +02:00 committed by jtbx
parent 9f8c0d30e9
commit 690c7e2a90

34
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,34 @@
stages:
- build
- deploy
build-website:
stage: build
image: alpine
before_script:
- apk update
- apk add tzdata hugo coreutils curl jq
script:
- ./fetch-calendar.sh
- sed -i "s#baseURL = 'https://hamburg.ccc.de/'#baseURL = 'https://next.hamburg.ccc.de/'#" hugo.toml
- hugo
artifacts:
expose_as: "website build"
name: "website-build-$CI_COMMIT_REF_NAME-$CI_COMMIT_SHORT_SHA"
paths:
- public/
expire_in: 1 month
deploy-website:
stage: deploy
image: alpine
before_script:
- apk update
- apk add rsync openssh
script:
- chmod 400 $NEXT_SSH_DEPLOY_KEY
- rsync -r --delete -e "ssh -i $NEXT_SSH_DEPLOY_KEY -o 'UserKnownHostsFile $SSH_KNOWN_HOSTS_FILE'" public/ ccchh-website-deploy@public-web-static-intern.hamburg.ccc.de:/var/www/next.hamburg.ccc.de/
rules:
- if: $CI_COMMIT_BRANCH == "main"
when: on_success
- when: never