github.com/secure-build/gitlab-runner@v12.5.0+incompatible/ci/build_ci_image (about)

     1  #!/bin/bash
     2  
     3  set -eo pipefail
     4  
     5  registry_credentials_available() {
     6      echo "Checking registry credentials"
     7      [[ -n "${CI_REGISTRY_USER}" ]] && [[ -n "${CI_REGISTRY_PASSWORD}" ]] && return 0
     8      return 1
     9  }
    10  
    11  login() {
    12      echo "Logging into registry"
    13      registry_credentials_available || return 0
    14      docker login --username ${CI_REGISTRY_USER} --password ${CI_REGISTRY_PASSWORD} ${CI_REGISTRY}
    15  }
    16  
    17  logout() {
    18      echo "Logging out of registry"
    19      docker logout ${CI_REGISTRY}
    20  }
    21  
    22  pull () {
    23      echo "Pulling base image"
    24      registry_credentials_available || return 0
    25      docker pull ${BUILD_IMAGE} || echo "${BUILD_IMAGE} image is not available. Will not use cache."
    26  }
    27  
    28  push () {
    29      echo "Pushing image"
    30      registry_credentials_available || return 0
    31      docker push ${BUILD_IMAGE}
    32  }
    33  
    34  
    35  build() {
    36      echo "Building image: ${BUILD_IMAGE}"
    37      docker build \
    38             --cache-from ${BUILD_IMAGE} \
    39             -t ${BUILD_IMAGE} \
    40             -f ${BUILD_DOCKERFILE} \
    41             .
    42  }
    43  
    44  login
    45  pull
    46  build
    47  push
    48  logout