Skip to content
Snippets Groups Projects

Create auto-release CI

Closed Luke Marlin requested to merge LukeMarlin/website_en:master into master
2 files
+ 60
0
Compare changes
  • Side-by-side
  • Inline
Files
2
.gitlab-ci.yml 0 → 100644
+ 57
0
 
stages:
 
- build
 
- package
 
- release
 
- deploy
 
 
build-job:
 
image: python:slim
 
stage: build
 
rules:
 
- if: '$CI_COMMIT_BRANCH'
 
script:
 
- mkdir -p /usr/share/man/man1 # Because of https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=863199
 
- apt-get update && apt-get install -y plantuml graphviz
 
- pip install -r requirements.txt
 
- pelican content -s publishconf.py -e OUTPUT_PATH=public/
 
artifacts:
 
paths:
 
- public/
 
name: build
 
expire_in: 7 days
 
package-job:
 
stage: package
 
tags: [redshift] # Used to prevent runner 1000i100 from picking up this stage
 
image: curlimages/curl:latest
 
script:
 
- PACKAGE_VERSION="$(date +%Y.%m).${CI_PIPELINE_IID}"
 
- PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/${PACKAGE_VERSION}"
 
- echo 'Creating generic package'
 
- cd public/
 
- tar cvf $HOME/website.tar *
 
- ls -al
 
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file $HOME/website.tar ${PACKAGE_REGISTRY_URL}/website.tar'
 
rules:
 
- if: '$CI_COMMIT_BRANCH == "master"'
 
release-job:
 
stage: release
 
tags: [redshift] # Used to prevent runner 1000i100 from picking up this stage
 
image: registry.gitlab.com/gitlab-org/release-cli:latest
 
rules:
 
- if: '$CI_COMMIT_BRANCH == "master"'
 
script:
 
- PACKAGE_VERSION="$(date +%Y.%m).${CI_PIPELINE_IID}"
 
- PACKAGE_REGISTRY_URL="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/${PACKAGE_VERSION}"
 
- echo 'Creating release'
 
- release-cli create --name "$PACKAGE_VERSION" --tag-name $PACKAGE_VERSION --assets-link "{\"name\":\"wesbite.tar\",\"url\":\"$PACKAGE_REGISTRY_URL/website.tar\"}"
 
 
pages:
 
stage: deploy
 
tags: [redshift]
 
rules:
 
- if: '$CI_COMMIT_BRANCH == "master"'
 
script:
 
- echo "Publishing to Gitlab pages"
 
artifacts:
 
paths:
 
- public/
 
\ No newline at end of file
Loading