Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
X
xta-test-server
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
OZG-Cloud
lib
xta-test-server
Merge requests
!7
Draft: Ozg 8085 ci components poc
Code
Review changes
Check out branch
Download
Patches
Plain diff
Expand sidebar
Open
Draft: Ozg 8085 ci components poc
OZG-8085-ci-components-poc
into
main
Overview
0
Commits
6
Pipelines
6
Changes
1
Open
Lukas Malte Monnerjahn
requested to merge
OZG-8085-ci-components-poc
into
main
2 months ago
Overview
0
Commits
6
Pipelines
6
Changes
1
0
0
Merge request reports
Compare
main
version 2
b3d34e82
2 months ago
version 1
ac1ac135
2 months ago
main (HEAD)
and
latest version
latest version
6345b79d
6 commits,
2 months ago
version 2
b3d34e82
5 commits,
2 months ago
version 1
ac1ac135
4 commits,
2 months ago
1 file
+
29
−
91
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
.gitlab-ci.yml
+
29
−
91
View file @ 0a8129d6
Edit in single-file editor
Open in Web IDE
Show full file
image
:
maven:3.9.9-eclipse-temurin-21-alpine
variables
:
MAVEN_DEPLOY_CLI_OPTS
:
"
--no-transfer-progress
-DskipTests"
MAVEN_CLI_OPTS
:
>-
-s .m2/ci_settings.xml --batch-mode
-Dmaven.plugin.validation=brief
DOCKER_HOST
:
tcp://docker:2375
DOCKER_TLS_CERTDIR
:
"
"
DOCKER_DRIVER
:
overlay2
NEXUS_IMAGE_REGISTRY_URL
:
docker.ozg-sh.de
services
:
-
docker:24.0.5-dind
cache
:
paths
:
-
.m2/repository/
-
target/
stages
:
-
build
-
test
-
publish
package
:
stage
:
build
script
:
-
mvn clean package -DskipTests=true $MAVEN_CLI_OPTS
artifacts
:
paths
:
-
target/*.jar
test
:
stage
:
test
script
:
-
mvn test $MAVEN_CLI_OPTS
include
:
# Maven Build, Test and Verify
-
component
:
$CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_build@main
inputs
:
maven_cli_options
:
$MAVEN_CLI_OPTS
build_stage
:
build
test_stage
:
test
# Maven Deploy for MR, Snapshot and Release to GitLab
-
component
:
$CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_deploy@main
inputs
:
job_prefix
:
gitlab
stage
:
publish
maven_cli_options
:
>-
-s .m2/ci_settings.xml --batch-mode
-Dmaven.plugin.validation=brief
maven_profile
:
"
-Pgitlab-deploy"
image_registry
:
$CI_REGISTRY_IMAGE
# Maven Deploy for MR, Snapshot and Release to Nexus
-
component
:
$CI_SERVER_FQDN/ozg-cloud/devops/ci-components/maven_deploy@main
inputs
:
job_prefix
:
nexus
stage
:
publish
maven_cli_options
:
>-
-s .m2/ci_settings.xml --batch-mode
-Dmaven.plugin.validation=brief
maven_profile
:
"
-Pnexus-deploy"
image_registry
:
$NEXUS_IMAGE_REGISTRY_URL
append_artifact_id_to_registry
:
true
.helm
:
before_script
:
@@ -50,42 +61,11 @@ test-helm:
script
:
-
sh run_helm_test.sh
verify
:
stage
:
test
script
:
-
mvn verify $MAVEN_CLI_OPTS
.get-version
:
before_script
:
-
export PROJECT_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout $MAVEN_CLI_OPTS | cut -d'-' -f1)
-
export PROJECT_ARTIFACTID=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout $MAVEN_CLI_OPTS)
-
export NEXUS_IMAGE_PREFIX="docker.ozg-sh.de/${PROJECT_ARTIFACTID}"
-
export MERGE_REQUEST_TAG="${PROJECT_VERSION}-MR-${CI_MERGE_REQUEST_IID}"
-
export SNAPSHOT_TAG="${PROJECT_VERSION}-${CI_COMMIT_BRANCH}"
# Merge request jobs
push-merge-request-image-gitlab
:
stage
:
publish
extends
:
.get-version
script
:
-
export PRIMARY_IMAGE_TAG=${MERGE_REQUEST_TAG}
-
export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${MERGE_REQUEST_TAG},${CI_REGISTRY_IMAGE}:${MERGE_REQUEST_TAG}-${CI_COMMIT_SHORT_SHA}"
-
mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
rules
:
-
if
:
$CI_PIPELINE_SOURCE == 'merge_request_event'
when
:
manual
push-merge-request-image-nexus
:
stage
:
publish
extends
:
.get-version
script
:
-
export PRIMARY_IMAGE_TAG=${MERGE_REQUEST_TAG}
-
export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${MERGE_REQUEST_TAG},${NEXUS_IMAGE_PREFIX}:${MERGE_REQUEST_TAG}-${CI_COMMIT_SHORT_SHA}"
-
mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
rules
:
-
if
:
$CI_PIPELINE_SOURCE == 'merge_request_event'
when
:
manual
push-merge-request-helm-nexus
:
stage
:
publish
variables
:
@@ -118,26 +98,6 @@ push-keystore-assembler-image-nexus:
-
if
:
$CI_PIPELINE_SOURCE == 'merge_request_event'
# Snapshot jobs
push-snapshot-image-gitlab
:
stage
:
publish
extends
:
.get-version
script
:
-
export PRIMARY_IMAGE_TAG=${SNAPSHOT_TAG}
-
export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${SNAPSHOT_TAG},${CI_REGISTRY_IMAGE}:${SNAPSHOT_TAG}-${CI_COMMIT_SHORT_SHA},${CI_REGISTRY_IMAGE}:snapshot-latest"
-
mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
only
:
-
main
push-snapshot-image-nexus
:
stage
:
publish
extends
:
.get-version
script
:
-
export PRIMARY_IMAGE_TAG=${SNAPSHOT_TAG}
-
export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${SNAPSHOT_TAG},${NEXUS_IMAGE_PREFIX}:${SNAPSHOT_TAG}-${CI_COMMIT_SHORT_SHA},${NEXUS_IMAGE_PREFIX}:snapshot-latest"
-
mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
only
:
-
main
push-snapshot-helm-nexus
:
stage
:
publish
variables
:
@@ -157,28 +117,6 @@ push-snapshot-helm-nexus:
-
"
*.tgz"
# Release jobs
push-release-image-gitlab
:
stage
:
publish
extends
:
.get-version
script
:
-
mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS
-
export PRIMARY_IMAGE_TAG=${CI_COMMIT_TAG}
-
export IMAGE_TAGS="${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG},${CI_REGISTRY_IMAGE}:${CI_COMMIT_TAG}-release,${CI_REGISTRY_IMAGE}:latest"
-
mvn deploy -Pgitlab-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
rules
:
-
if
:
$CI_COMMIT_TAG
push-release-image-nexus
:
stage
:
publish
extends
:
.get-version
script
:
-
mvn versions:set -DnewVersion=${CI_COMMIT_TAG} $MAVEN_CLI_OPTS
-
export PRIMARY_IMAGE_TAG=${CI_COMMIT_TAG}
-
export IMAGE_TAGS="${NEXUS_IMAGE_PREFIX}:${CI_COMMIT_TAG},${NEXUS_IMAGE_PREFIX}:${CI_COMMIT_TAG}-release,${NEXUS_IMAGE_PREFIX}:latest"
-
mvn deploy -Pnexus-deploy $MAVEN_DEPLOY_CLI_OPTS $MAVEN_CLI_OPTS
rules
:
-
if
:
$CI_COMMIT_TAG
push-release-helm-nexus
:
stage
:
publish
variables
:
Loading