Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
T
theodolite
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Sören Henning
theodolite
Commits
0735d740
Commit
0735d740
authored
4 years ago
by
Sören Henning
Browse files
Options
Downloads
Plain Diff
Merge branch 'single-ci-pipeline' into 'master'
Single CI/CD pipeline definitions Closes
#51
and
#124
See merge request
!89
parents
a7876657
7ca35e34
No related branches found
No related tags found
No related merge requests found
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
.gitlab-ci.yml
+191
-23
191 additions, 23 deletions
.gitlab-ci.yml
benchmarks/.gitlab-ci.yml
+0
-414
0 additions, 414 deletions
benchmarks/.gitlab-ci.yml
execution/.gitlab-ci.yml
+0
-61
0 additions, 61 deletions
execution/.gitlab-ci.yml
with
191 additions
and
498 deletions
.gitlab-ci.yml
+
191
−
23
View file @
0735d740
workflow
:
rules
:
-
if
:
$CI_MERGE_REQUEST_ID
when
:
never
-
when
:
always
stages
:
-
triggers
-
build
-
test
-
check
-
deploy
# Theodolite Benchmarks
.benchmarks
:
image
:
openjdk:11-jdk
tags
:
-
exec-docker
variables
:
GRADLE_OPTS
:
"
-Dorg.gradle.daemon=false"
cache
:
paths
:
-
.gradle
before_script
:
-
cd benchmarks
-
export GRADLE_USER_HOME=`pwd`/.gradle
build-benchmarks
:
stage
:
build
extends
:
.benchmarks
script
:
./gradlew --build-cache assemble
artifacts
:
paths
:
-
"
benchmarks/build/libs/*.jar"
-
"
benchmarks/*/build/distributions/*.tar"
expire_in
:
1 day
test-benchmarks
:
stage
:
test
extends
:
.benchmarks
needs
:
-
build-benchmarks
script
:
./gradlew test --continue
artifacts
:
reports
:
junit
:
-
"
benchmarks/**/build/test-results/test/TEST-*.xml"
checkstyle-benchmarks
:
stage
:
check
extends
:
.benchmarks
needs
:
-
build-benchmarks
-
test-benchmarks
script
:
./gradlew checkstyle --continue
artifacts
:
paths
:
-
"
benchmarks/*/build/reports/checkstyle/main.html"
when
:
on_failure
expire_in
:
1 day
pmd-benchmarks
:
stage
:
check
extends
:
.benchmarks
needs
:
-
build-benchmarks
-
test-benchmarks
script
:
./gradlew pmd --continue
artifacts
:
paths
:
-
"
benchmarks/*/build/reports/pmd/*.html"
when
:
on_failure
expire_in
:
1 day
spotbugs-benchmarks
:
stage
:
check
extends
:
.benchmarks
needs
:
-
build-benchmarks
-
test-benchmarks
script
:
./gradlew spotbugs --continue
artifacts
:
paths
:
-
"
benchmarks/*/build/reports/spotbugs/*.html"
when
:
on_failure
expire_in
:
1 day
benchmarks
:
stage
:
triggers
trigger
:
include
:
benchmarks/.gitlab-ci.yml
strategy
:
depend
.deploy-benchmarks
:
stage
:
deploy
extends
:
.benchmarks
needs
:
-
build-benchmarks
-
checkstyle-benchmarks
-
pmd-benchmarks
-
spotbugs-benchmarks
tags
:
-
exec-dind
# see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
# for image usage and settings for building with TLS and docker in docker
image
:
docker:19.03.1
services
:
-
docker:19.03.1-dind
variables
:
DOCKER_TLS_CERTDIR
:
"
/certs"
script
:
-
DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-
docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
$CR_HOST/$CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
$CR_HOST/$CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-
"
[
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
$CR_HOST/$CR_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
-
echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-
docker push $CR_HOST/$CR_ORG/$IMAGE_NAME
-
docker logout
rules
:
-
if
:
"
$CI_COMMIT_TAG"
-
if
:
"
$CR_HOST
&&
$CR_ORG
&&
$CR_USER
&&
$CR_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/*
-
when
:
manual
-
$JAVA_PROJECT_NAME/**/*
-
benchmarks/application-kafkastreams-commons/**/*
-
benchmarks/workload-generator-commons/**/*
if
:
"
$CR_HOST
&&
$CR_ORG
&&
$CR_USER
&&
$CR_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$CR_HOST
&&
$CR_ORG
&&
$CR_USER
&&
$CR_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
execution
:
stage
:
triggers
trigger
:
include
:
execution/.gitlab-ci.yml
strategy
:
depend
deploy-uc1-kstreams-app
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc1-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc1-application"
deploy-uc2-kstreams-app
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc2-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc2-application"
deploy-uc3-kstreams-app
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc3-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc3-application"
deploy-uc4-kstreams-app
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc4-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc4-application"
deploy-uc1-load-generator
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc1-workload-generator"
JAVA_PROJECT_NAME
:
"
uc1-workload-generator"
deploy-uc2-load-generator
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc2-workload-generator"
JAVA_PROJECT_NAME
:
"
uc2-workload-generator"
deploy-uc3-load-generator
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc3-workload-generator"
JAVA_PROJECT_NAME
:
"
uc3-workload-generator"
deploy-uc4-load-generator
:
extends
:
.deploy-benchmarks
variables
:
IMAGE_NAME
:
"
theodolite-uc4-workload-generator"
JAVA_PROJECT_NAME
:
"
uc4-workload-generator"
# Theodolite Framework
deploy-theodolite
:
stage
:
deploy
tags
:
-
exec-dind
image
:
docker:19.03.1
services
:
-
docker:19.03.1-dind
variables
:
DOCKER_TLS_CERTDIR
:
"
/certs"
script
:
-
DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-
docker build --pull -t theodolite ./execution
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
$CR_HOST/$CR_ORG/theodolite:${DOCKER_TAG_NAME}latest"
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
$CR_HOST/$CR_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-
"
[
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
$CR_HOST/$CR_ORG/theodolite:$CI_COMMIT_TAG"
-
echo $CR_PW | docker login $CR_HOST -u $CR_USER --password-stdin
-
docker push $CR_HOST/$CR_ORG/theodolite
-
docker logout
rules
:
-
if
:
"
$CI_COMMIT_TAG"
-
if
:
"
$CR_HOST
&&
$CR_ORG
&&
$CR_USER
&&
$CR_PW
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
execution/*
-
when
:
manual
-
execution/**/*
if
:
"
$CR_HOST
&&
$CR_ORG
&&
$CR_USER
&&
$CR_PW"
when
:
always
-
if
:
"
$CR_HOST
&&
$CR_ORG
&&
$CR_USER
&&
$CR_PW"
when
:
manual
allow_failure
:
true
This diff is collapsed.
Click to expand it.
benchmarks/.gitlab-ci.yml
deleted
100644 → 0
+
0
−
414
View file @
a7876657
image
:
openjdk:11-jdk
# Disable the Gradle daemon for Continuous Integration servers as correctness
# is usually a priority over speed in CI environments. Using a fresh
# runtime for each build is more reliable since the runtime is completely
# isolated from any previous builds.
variables
:
GRADLE_OPTS
:
"
-Dorg.gradle.daemon=false"
cache
:
paths
:
-
.gradle
before_script
:
-
cd benchmarks
-
export GRADLE_USER_HOME=`pwd`/.gradle
stages
:
-
build
-
test
-
check
-
deploy
build
:
stage
:
build
tags
:
-
exec-docker
script
:
./gradlew --build-cache assemble
artifacts
:
paths
:
-
"
benchmarks/build/libs/*.jar"
-
"
benchmarks/*/build/distributions/*.tar"
expire_in
:
1 day
test
:
stage
:
test
tags
:
-
exec-docker
script
:
./gradlew test --continue
artifacts
:
reports
:
junit
:
-
"
benchmarks/**/build/test-results/test/TEST-*.xml"
checkstyle
:
stage
:
check
tags
:
-
exec-docker
script
:
./gradlew checkstyle --continue
artifacts
:
paths
:
-
"
benchmarks/*/build/reports/checkstyle/main.html"
when
:
on_failure
expire_in
:
1 day
pmd
:
stage
:
check
tags
:
-
exec-docker
script
:
./gradlew pmd --continue
artifacts
:
paths
:
-
"
benchmarks/*/build/reports/pmd/*.html"
when
:
on_failure
expire_in
:
1 day
spotbugs
:
stage
:
check
tags
:
-
exec-docker
script
:
./gradlew spotbugs --continue
artifacts
:
paths
:
-
"
benchmarks/*/build/reports/spotbugs/*.html"
when
:
on_failure
expire_in
:
1 day
.deploy
:
stage
:
deploy
tags
:
-
exec-dind
# see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
# for image usage and settings for building with TLS and docker in docker
image
:
docker:19.03.1
services
:
-
docker:19.03.1-dind
variables
:
DOCKER_TLS_CERTDIR
:
"
/certs"
script
:
-
DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-
docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
$DOCKERHUB_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
$DOCKERHUB_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-
"
[
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
$DOCKERHUB_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
-
echo $DOCKERHUB_PW | docker login -u $DOCKERHUB_ID --password-stdin
-
docker push $DOCKERHUB_ORG/$IMAGE_NAME
-
docker logout
rules
:
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
# - $JAVA_PROJECT_NAME/**/* # hope this can be simplified soon, see #51
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc1-kstreams-app
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc1-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc1-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc1-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc2-kstreams-app
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc2-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc2-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc2-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc3-kstreams-app
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc3-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc3-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc3-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc4-kstreams-app
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc4-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc4-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc4-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc1-workload-generator
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc1-workload-generator"
JAVA_PROJECT_NAME
:
"
uc1-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc1-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc2-workload-generator
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc2-workload-generator"
JAVA_PROJECT_NAME
:
"
uc2-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc2-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc3-workload-generator
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc3-workload-generator"
JAVA_PROJECT_NAME
:
"
uc3-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc3-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-uc4-workload-generator
:
extends
:
.deploy
variables
:
IMAGE_NAME
:
"
theodolite-uc4-workload-generator"
JAVA_PROJECT_NAME
:
"
uc4-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc4-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
.deploy-ghcr
:
stage
:
deploy
tags
:
-
exec-dind
# see https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
# for image usage and settings for building with TLS and docker in docker
image
:
docker:19.03.1
services
:
-
docker:19.03.1-dind
variables
:
DOCKER_TLS_CERTDIR
:
"
/certs"
script
:
-
DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-
docker build --pull -t $IMAGE_NAME ./$JAVA_PROJECT_NAME
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-
"
[
$CI_COMMIT_TAG
]
&&
docker
tag
$IMAGE_NAME
ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME:$CI_COMMIT_TAG"
-
echo $GITHUB_CR_TOKEN | docker login ghcr.io -u $GITHUB_CR_USER --password-stdin
-
docker push ghcr.io/$GITHUB_CR_ORG/$IMAGE_NAME
-
docker logout
rules
:
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
# - $JAVA_PROJECT_NAME/**/* # hope this can be simplified soon, see #51
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc1-kstreams-app
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc1-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc1-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc1-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc2-kstreams-app
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc2-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc2-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc2-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc3-kstreams-app
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc3-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc3-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc3-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc4-kstreams-app
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc4-kstreams-app"
JAVA_PROJECT_NAME
:
"
uc4-application"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc4-application/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc1-workload-generator
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc1-workload-generator"
JAVA_PROJECT_NAME
:
"
uc1-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc1-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc2-workload-generator
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc2-workload-generator"
JAVA_PROJECT_NAME
:
"
uc2-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc2-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc3-workload-generator
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc3-workload-generator"
JAVA_PROJECT_NAME
:
"
uc3-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc3-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
deploy-ghcr-uc4-workload-generator
:
extends
:
.deploy-ghcr
variables
:
IMAGE_NAME
:
"
theodolite-uc4-workload-generator"
JAVA_PROJECT_NAME
:
"
uc4-workload-generator"
rules
:
# hope this can be simplified soon, see #51
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
benchmarks/uc4-workload-generator/**/*
-
benchmarks/application-kafkastreams-commons/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$IMAGE_NAME
&&
$JAVA_PROJECT_NAME"
when
:
manual
allow_failure
:
true
This diff is collapsed.
Click to expand it.
execution/.gitlab-ci.yml
deleted
100644 → 0
+
0
−
61
View file @
a7876657
stages
:
-
deploy
deploy
:
stage
:
deploy
tags
:
-
exec-dind
image
:
docker:19.03.1
services
:
-
docker:19.03.1-dind
variables
:
DOCKER_TLS_CERTDIR
:
"
/certs"
script
:
-
DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-
docker build --pull -t theodolite ./execution
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
$DOCKERHUB_ORG/theodolite:${DOCKER_TAG_NAME}latest"
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
$DOCKERHUB_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-
"
[
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
$DOCKERHUB_ORG/theodolite:$CI_COMMIT_TAG"
-
echo $DOCKERHUB_PW | docker login -u $DOCKERHUB_ID --password-stdin
-
docker push $DOCKERHUB_ORG/theodolite
-
docker logout
rules
:
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
execution/**/*
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW"
when
:
always
-
if
:
"
$DOCKERHUB_ORG
&&
$DOCKERHUB_ID
&&
$DOCKERHUB_PW"
when
:
manual
allow_failure
:
true
deploy-ghcr
:
stage
:
deploy
tags
:
-
exec-dind
image
:
docker:19.03.1
services
:
-
docker:19.03.1-dind
variables
:
DOCKER_TLS_CERTDIR
:
"
/certs"
script
:
-
DOCKER_TAG_NAME=$(echo $CI_COMMIT_REF_SLUG- | sed 's/^master-$//')
-
docker build --pull -t theodolite ./execution
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
ghcr.io/$GITHUB_CR_ORG/theodolite:${DOCKER_TAG_NAME}latest"
-
"
[
!
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
ghcr.io/$GITHUB_CR_ORG/theodolite:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
-
"
[
$CI_COMMIT_TAG
]
&&
docker
tag
theodolite
ghcr.io/$GITHUB_CR_ORG/theodolite:$CI_COMMIT_TAG"
-
echo $GITHUB_CR_TOKEN | docker login ghcr.io -u $GITHUB_CR_USER --password-stdin
-
docker push ghcr.io/$GITHUB_CR_ORG/theodolite
-
docker logout
rules
:
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN
&&
$CI_COMMIT_TAG"
when
:
always
-
changes
:
-
execution/**/*
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN"
when
:
always
-
if
:
"
$GITHUB_CR_ORG
&&
$GITHUB_CR_USER
&&
$GITHUB_CR_TOKEN"
when
:
manual
allow_failure
:
true
\ No newline at end of file
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment