Skip to content
Snippets Groups Projects
Commit ce3d19c6 authored by Sören Henning's avatar Sören Henning
Browse files

Move benchmarks to dedicated directory

parent 2673bd54
No related branches found
No related tags found
3 merge requests!65Test multi pipeline setup,!64Test multi pipeline setup,!63Move benchmarks to dedicated directory
Pipeline #1267 passed
Pipeline: theodolite

#1268

    Showing
    with 250 additions and 240 deletions
    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:
    - export GRADLE_USER_HOME=`pwd`/.gradle
    stages:
    - build
    - test
    - check
    - deploy
    build:
    stage: build
    tags:
    - exec-docker
    script: ./gradlew --build-cache assemble
    artifacts:
    paths:
    - "build/libs/*.jar"
    - "*/build/distributions/*.tar"
    expire_in: 1 day
    test:
    stage: test
    tags:
    - exec-docker
    script: ./gradlew test --continue
    artifacts:
    reports:
    junit:
    - "**/build/test-results/test/TEST-*.xml"
    checkstyle:
    stage: check
    tags:
    - exec-docker
    script: ./gradlew checkstyle --continue
    artifacts:
    paths:
    - "*/build/reports/checkstyle/main.html"
    when: on_failure
    expire_in: 1 day
    - triggers
    pmd:
    stage: check
    tags:
    - exec-docker
    script: ./gradlew pmd --continue
    artifacts:
    paths:
    - "*/build/reports/pmd/*.html"
    when: on_failure
    expire_in: 1 day
    spotbugs:
    stage: check
    tags:
    - exec-docker
    script: ./gradlew spotbugs --continue
    artifacts:
    paths:
    - "*/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
    trigger_benchmarks:
    stage: triggers
    trigger:
    include: benchmarks/.gitlab-ci.yml
    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
    - 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:
    - uc1-application/**/*
    - 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:
    - uc2-application/**/*
    - 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:
    - uc3-application/**/*
    - 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:
    - uc4-application/**/*
    - 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:
    - uc1-workload-generator/**/*
    - 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:
    - uc2-workload-generator/**/*
    - 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:
    - uc3-workload-generator/**/*
    - 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:
    - uc4-workload-generator/**/*
    - 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
    - benchmarks/*
    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:
    - export GRADLE_USER_HOME=`pwd`/.gradle
    stages:
    - build
    - test
    - check
    - deploy
    build:
    stage: build
    tags:
    - exec-docker
    script: ./gradlew --build-cache assemble
    artifacts:
    paths:
    - "build/libs/*.jar"
    - "*/build/distributions/*.tar"
    expire_in: 1 day
    test:
    stage: test
    tags:
    - exec-docker
    script: ./gradlew test --continue
    artifacts:
    reports:
    junit:
    - "**/build/test-results/test/TEST-*.xml"
    checkstyle:
    stage: check
    tags:
    - exec-docker
    script: ./gradlew checkstyle --continue
    artifacts:
    paths:
    - "*/build/reports/checkstyle/main.html"
    when: on_failure
    expire_in: 1 day
    pmd:
    stage: check
    tags:
    - exec-docker
    script: ./gradlew pmd --continue
    artifacts:
    paths:
    - "*/build/reports/pmd/*.html"
    when: on_failure
    expire_in: 1 day
    spotbugs:
    stage: check
    tags:
    - exec-docker
    script: ./gradlew spotbugs --continue
    artifacts:
    paths:
    - "*/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
    - 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:
    - uc1-application/**/*
    - 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:
    - uc2-application/**/*
    - 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:
    - uc3-application/**/*
    - 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:
    - uc4-application/**/*
    - 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:
    - uc1-workload-generator/**/*
    - 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:
    - uc2-workload-generator/**/*
    - 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:
    - uc3-workload-generator/**/*
    - 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:
    - uc4-workload-generator/**/*
    - 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
    File moved
    File moved
    File moved
    File moved
    File moved
    File moved
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment