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:
parent
9f8c0d30e9
commit
690c7e2a90
34
.gitlab-ci.yml
Normal file
34
.gitlab-ci.yml
Normal 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
|
Loading…
Reference in a new issue