diff options
author | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-12-09 14:44:41 +0100 |
---|---|---|
committer | Thomas Lenz <thomas.lenz@egiz.gv.at> | 2020-12-09 14:44:41 +0100 |
commit | a126c249b8ed83dce4386331a49d04a42b53e448 (patch) | |
tree | f2e035c580e4f3acf4d69a91c4d7219587d5aeae /.gitlab-ci.yml | |
parent | 50b25badd1592ae68ca24ccfe16517b745e0df84 (diff) | |
parent | 4e2417b8b5e59b9659900ad36ce7248810813aeb (diff) | |
download | EAAF-Components-a126c249b8ed83dce4386331a49d04a42b53e448.tar.gz EAAF-Components-a126c249b8ed83dce4386331a49d04a42b53e448.tar.bz2 EAAF-Components-a126c249b8ed83dce4386331a49d04a42b53e448.zip |
Merge branch 'feature/gitlabci' into 'nightlyBuild'
Feature/gitlabci
See merge request egiz/eaaf_components!5
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 00000000..37ca635e --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,79 @@ +image: maven:latest + +variables: + LC_ALL: "en_US.UTF-8" + LANG: "en_US.UTF-8" + LANGUAGE: "en_US" + LIB_NAME: "eaaf-components" + MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true --settings ${CI_PROJECT_DIR}/.cisettings.xml" + MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=${CI_PROJECT_DIR}/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true" + GIT_SUBMODULE_STRATEGY: recursive + GIT_DEPTH: "2" + SECURE_LOG_LEVEL: "debug" + +include: + - template: Dependency-Scanning.gitlab-ci.yml + - template: Security/SAST.gitlab-ci.yml + - template: Secret-Detection.gitlab-ci.yml + - template: Code-Quality.gitlab-ci.yml + +stages: + - assemble + - test + - package + - release + +cache: + paths: + - ".m2/repository" + +assemble: + stage: assemble + except: + - tags + script: | + mvn $MAVEN_CLI_OPTS compile test + artifacts: + when: always + reports: + junit: "**/target/surefire-reports/TEST-*.xml" + +publishToGitlab: + stage: package + except: + - tags + before_script: + - mkdir -p ~/.ssh + - ssh-keyscan apps.egiz.gv.at >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + script: | + export VERSION=$(mvn -B help:evaluate -Dexpression=project.version -B | grep -v "\[INFO\]" | grep -Po "\d+\.\d+\.\d+((-\w*)+)?") + echo "Publishing version $VERSION for $LIB_NAME to public EGIZ maven" + mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml -P jenkinsDeploy -DskipTests + echo "VERSION=$VERSION" >> variables.env + artifacts: + when: always + reports: + dotenv: variables.env + +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + needs: + - job: publishToGitlab + artifacts: true + when: manual + only: + - master + before_script: + - mkdir -p ~/.ssh + - ssh-keyscan apps.egiz.gv.at >> ~/.ssh/known_hosts + - chmod 644 ~/.ssh/known_hosts + script: | + echo "Releasing version $VERSION of $LIB_NAME" + echo "Publishing version $VERSION to public EGIZ maven" + mvn $MAVEN_CLI_OPTS deploy -s .cisettings.xml -P jenkinsDeploy + release: + name: "$VERSION" + tag_name: "v$VERSION" + description: "$(cat README.md)" |