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