-
Dominik Pilár authored170e39c2
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
.gitlab-ci.yml 4.48 KiB
image: 'maven:3.8.4-openjdk-17-slim'
cache:
paths:
- .m2/repository
variables:
PROJECT_ARTIFACT_ID: kypo-adaptive-training
DEPLOYMENT_INFO_VERSION_FILE: VERSION.txt
MAVEN_CLI_OPTS: "-Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository"
TRUSTED_HOST: gitlab.ics.muni.cz
GIT_CLONE_URL: "git@${CI_SERVER_HOST}:${CI_PROJECT_PATH}.git"
stages:
- build
- tests
- create_tag
- generate_docs
- docker_image_push
- docker_image_push_development
build:
stage: build
script:
- mvn clean install $MAVEN_CLI_OPTS -DskipTests -Dproprietary-repo-url=$PROPRIETARY_REPO_URL
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
changes:
- $DEPLOYMENT_INFO_VERSION_FILE
when: never
- if: '$CI_COMMIT_TAG'
changes:
- pom.xml
when: never
- if: '$CI_COMMIT_BRANCH && $CI_COMMIT_MESSAGE !~ /Updated Swagger documentation generated/'
when: always
tests:
stage: tests
script:
- mvn test $MAVEN_CLI_OPTS -Dproprietary-repo-url=$PROPRIETARY_REPO_URL
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
changes:
- $DEPLOYMENT_INFO_VERSION_FILE
when: never
- if: '$CI_COMMIT_TAG'
changes:
- pom.xml
when: never
- if: '$CI_COMMIT_BRANCH && $CI_COMMIT_MESSAGE !~ /Updated Swagger documentation generated/'
when: always
create_tag:
stage: create_tag
# https://gitlab.ics.muni.cz/csirt-mu-infra/devops-support/docker-images/csirtmu-docker-common-ci
image: 'registry.gitlab.ics.muni.cz:443/csirt-mu-devel/csirt-mu-devel-artifact-repository/docker-common-ci:v0.1.6'
variables:
GIT_STRATEGY: clone
script:
- source /app/export-tag-vars.sh $DEPLOYMENT_INFO_VERSION_FILE
- echo $TAG_VERSION && echo $TAG_MESSAGE
- /app/import-ssh-key.sh
- /app/prepare-git.sh
- /app/set-version-java.sh
- /app/tag-and-push.sh
rules:
- if: '$CI_COMMIT_BRANCH == "master"'
changes:
- $DEPLOYMENT_INFO_VERSION_FILE