Unverified Commit 0cfffbf8 authored by David Mehren's avatar David Mehren
Browse files

Build with kaniko

parent 99efc955
Loading
Loading
Loading
Loading
+17 −50
Original line number Diff line number Diff line
# Official docker image.
image: docker:latest

variables:
  DOCKER_DRIVER: overlay2
  DOCKER_BUILDKIT: 1
  TEXLIVE_IMAGE_UPSTREAM: texlive/texlive:latest
  TEXLIVE_IMAGE: ${CI_DEPENDENCY_PROXY_GROUP_IMAGE_PREFIX}/${TEXLIVE_IMAGE_UPSTREAM}

# Docker in Docker Service
services:
  - name: docker:dind
    command: ["--experimental"]
image:
  name: gcr.io/kaniko-project/executor:debug
  entrypoint: [""]

before_script:
  - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
  - docker login -u "$CI_DEPENDENCY_PROXY_USER" -p "$CI_DEPENDENCY_PROXY_PASSWORD" $CI_DEPENDENCY_PROXY_SERVER
  - mkdir -p /kaniko/.docker
  - echo "{\"auths\":{\"$CI_REGISTRY\":{\"username\":\"$CI_REGISTRY_USER\",\"password\":\"$CI_REGISTRY_PASSWORD\"}}}" > /kaniko/.docker/config.json
  - source environment

build-main:
  script:
    - docker build
      --build-arg BUILDKIT_INLINE_CACHE=1
      --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
      --cache-from $CI_REGISTRY_IMAGE:stage-src
      --target src
      -t "$CI_REGISTRY_IMAGE:stage-src"
      -t "$CI_REGISTRY_IMAGE:stage-src-branch-$CI_COMMIT_REF_SLUG" .
    - docker push "$CI_REGISTRY_IMAGE:stage-src"
    - docker push "$CI_REGISTRY_IMAGE:stage-src-branch-$CI_COMMIT_REF_SLUG"
    - docker build
      --build-arg BUILDKIT_INLINE_CACHE=1
      --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
      --pull
      --cache-from $CI_REGISTRY_IMAGE:stage-texlive-update
      --target texlive-update
      -t "$CI_REGISTRY_IMAGE:stage-texlive-update"
      -t "$CI_REGISTRY_IMAGE:stage-texlive-update-branch-$CI_COMMIT_REF_SLUG" .
    - docker push "$CI_REGISTRY_IMAGE:stage-texlive-update"
    - docker push "$CI_REGISTRY_IMAGE:stage-texlive-update-branch-$CI_COMMIT_REF_SLUG"
    - docker build
      --build-arg BUILDKIT_INLINE_CACHE=1
    - /kaniko/executor
      --cache=true
      --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
      --build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}"
      --build-arg login_text="${LOGIN_TEXT}"
      --build-arg collab_text="${COLLAB_TEXT}"
      --pull
      --cache-from $CI_REGISTRY_IMAGE
      --target app --squash
      -t "$CI_REGISTRY_IMAGE"
      -t "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" .
    - docker push "$CI_REGISTRY_IMAGE"
    - docker push "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
      --context $CI_PROJECT_DIR
      --dockerfile $CI_PROJECT_DIR/Dockerfile
      --destination "$CI_REGISTRY_IMAGE"
      --destination "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
  only:
    - main

build:
  script:
    - docker build
      --build-arg BUILDKIT_INLINE_CACHE=1
    - /kaniko/executor
      --cache=true
      --build-arg LDAP_PLUGIN_URL="${LDAP_PLUGIN_URL}"
      --build-arg TEXLIVE_IMAGE="${TEXLIVE_IMAGE}"
      --build-arg login_text="${LOGIN_TEXT}"
      --build-arg collab_text="${COLLAB_TEXT}"
      --pull
      --cache-from "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
      --cache-from "$CI_REGISTRY_IMAGE"
      -t "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG" .
    - docker push "$CI_REGISTRY_IMAGE:branch-$CI_COMMIT_REF_SLUG"
      --context $CI_PROJECT_DIR
      --dockerfile $CI_PROJECT_DIR/Dockerfile
      --destination "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG"
  except:
    - main