Skip to content
Snippets Groups Projects
Select Git revision
  • fd855aa3163fc7d04d0740573155f0794db25eb5
  • master default protected
  • feature_validation_only
  • validation-only
  • tanzarchiv-validation-only
  • 1.5
  • v0.1
  • 1.201
  • plugin_v1.2
  • 2019-01
  • mediainfo-based-mdextraction
11 results

.gitlab-ci.yml

Blame
  • .gitlab-ci.yml 2.59 KiB
    stages:          # List of stages for jobs, and their order of execution
      - build
      - test
      - packaging
    
    variables:
      EXLIBRIS_SDK_DIR: "/exlibris"
      ROSETTASDK: "${EXLIBRIS_SDK_DIR}/8.3/"
      IMAGE_TARGET: "$CI_REGISTRY_IMAGE/bullseye_subapp"
      FF_USE_FASTZIP: "true"
      # These can be specified per job or per pipeline
      ARTIFACT_COMPRESSION_LEVEL: "fast"
      CACHE_COMPRESSION_LEVEL: "fast"
    #  CI_DEBUG_TRACE: "true"
    
    default:
      image:
        # use this image for all later stages that happen after the build stage
        name: "${IMAGE_TARGET}:latest"
    
    before_script:    # These steps are run before EACH job.
      - export ROSETTASDK="${ROSETTASDK}"
    
    build-env-job:       # This job runs in the build stage, which runs first.
      stage: build
      timeout: 30m
      tags:
        - "docker"
      image:
        # Use Kaniko base image to build a Docker image to use as the base image for later jobs.
        name: gcr.io/kaniko-project/executor:debug
        entrypoint: [""]
      # Do not run the before_script tasks here, they wouldn't be included in the Docker image. Instead, provide an empty list of tasks.
      before_script: []
      # docu: https://docs.gitlab.com/ee/ci/docker/using_kaniko.html, this is basically copy-pasted from there
      script:
        - mkdir -p /kaniko/.docker
        - echo "{\"auths\":{\"$CI_REGISTRY\":{\"auth\":\"$(printf "%s:%s" "$CI_REGISTRY_USER" "$CI_REGISTRY_PASSWORD" | base64 | tr -d '\n')\"},\"$(printf "%s" "$CI_DEPENDENCY_PROXY_SERVER" | cut -d':' -f1)\":{\"auth\":\"$(printf "%s:%s" "$CI_DEPENDENCY_PROXY_USER" "$CI_DEPENDENCY_PROXY_PASSWORD" | base64 | tr -d '\n')\"}}}" > /kaniko/.docker/config.json
        # In this task, Kaniko executor is called to build the Image based on the Dockerfile provided with "--dockerfile".
        - echo "CI_PROJECT_DIR=${CI_PROJECT_DIR}"
        - >-
          /kaniko/executor
          --context "${CI_PROJECT_DIR}"
          --dockerfile "${CI_PROJECT_DIR}/gitlab-ci/Dockerfile"
          --destination "${IMAGE_TARGET}:latest"
          --build-arg "GITDIR=${CI_PROJECT_DIR}"
          --cache=true
          --cache-repo=${CI_REGISTRY_IMAGE}
          --cache-copy-layers=true
          --snapshotMode=redo
          --use-new-run
          --ignore-var-run
    
    #test-job:
    #  stage: test
    #  timeout: 3h
    #  tags:
    #    - "docker"
    #  script:
    #    - ROSETTASDK=$ROSETTASDK mvn test
    
    bughunting-job:
      stage: test
      timeout: 3h
      tags:
        - "docker"
      script:
        - ROSETTASDK=$ROSETTASDK mvn spotbugs:check
    
    packaging-job: