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

Add push to GitHub container registry

parent 1d0e9eb5
No related branches found
No related tags found
1 merge request!69Add push to GitHub container registry
Pipeline #1359 failed
Pipeline: theodolite

#1360

    ...@@ -243,3 +243,172 @@ deploy-uc4-workload-generator: ...@@ -243,3 +243,172 @@ deploy-uc4-workload-generator:
    - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME" - if: "$DOCKERHUB_ORG && $DOCKERHUB_ID && $DOCKERHUB_PW && $IMAGE_NAME && $JAVA_PROJECT_NAME"
    when: manual when: manual
    allow_failure: true 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 $GITHUB_CR_ORG/$IMAGE_NAME:${DOCKER_TAG_NAME}latest"
    - "[ ! $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $GITHUB_CR_ORG/$IMAGE_NAME:$DOCKER_TAG_NAME$CI_COMMIT_SHORT_SHA"
    - "[ $CI_COMMIT_TAG ] && docker tag $IMAGE_NAME $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
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Please to comment