78 lines
1.7 KiB
YAML
78 lines
1.7 KiB
YAML
stages:
|
|
- build
|
|
- test
|
|
- publish
|
|
- deploy
|
|
|
|
.any-job:
|
|
rules:
|
|
- if: $CI_SERVER_HOST == "gitlab.mnl.de"
|
|
|
|
.gradle-job:
|
|
extends: .any-job
|
|
image: registry.mnl.de/org/jgrapes/jdk21-builder:v2
|
|
cache:
|
|
- key: dependencies-${CI_COMMIT_BRANCH}
|
|
policy: pull-push
|
|
paths:
|
|
- .gradle
|
|
- node_modules
|
|
- key: "$CI_COMMIT_SHA"
|
|
policy: pull-push
|
|
paths:
|
|
- build
|
|
- "*/build"
|
|
before_script:
|
|
- echo -n $CI_REGISTRY_PASSWORD | podman login -u "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
|
|
- git switch $(git branch -r --sort="authordate" --contains $CI_COMMIT_SHA | head -1 | sed -e 's#.*/##')
|
|
- git pull
|
|
- git reset --hard $CI_COMMIT_SHA
|
|
|
|
build-jars:
|
|
stage: build
|
|
extends: .gradle-job
|
|
script:
|
|
- ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE build apidocs
|
|
|
|
publish-images:
|
|
stage: publish
|
|
extends: .gradle-job
|
|
dependencies:
|
|
- build-jars
|
|
script:
|
|
- ./gradlew -Pdocker.registry=$CI_REGISTRY_IMAGE publishImage
|
|
|
|
.pages-job:
|
|
extends: .any-job
|
|
image: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/ruby:3.2
|
|
variables:
|
|
JEKYLL_ENV: production
|
|
LC_ALL: C.UTF-8
|
|
before_script:
|
|
- git fetch origin gh-pages
|
|
- git checkout gh-pages
|
|
- gem install bundler
|
|
- bundle install
|
|
|
|
test-pages:
|
|
stage: test
|
|
extends: .pages-job
|
|
rules:
|
|
- if: $CI_COMMIT_BRANCH == "gh-pages"
|
|
script:
|
|
- bundle exec jekyll build -d test
|
|
artifacts:
|
|
paths:
|
|
- test
|
|
|
|
#publish-pages:
|
|
# stage: publish
|
|
# extends: .pages-job
|
|
# rules:
|
|
# - if: $CI_COMMIT_BRANCH == "gh-pages"
|
|
# script:
|
|
# - bundle exec jekyll build -d public
|
|
# artifacts:
|
|
# paths:
|
|
# - public
|
|
# environment: production
|