Skip to content
Snippets Groups Projects
Commit 1f182acf authored by Pierre Smeyers's avatar Pierre Smeyers
Browse files

Merge branch 'cache' into 'master'

fix(cache-repo): switch back to kaniko default behavior

Closes #58

See merge request to-be-continuous/docker!86
parents fcf0234a 6e15c062
No related branches found
No related tags found
No related merge requests found
...@@ -295,11 +295,12 @@ This job builds the image and publishes it to the _snapshot_ repository. ...@@ -295,11 +295,12 @@ This job builds the image and publishes it to the _snapshot_ repository.
It is bound to the `package-build` stage, and uses the following variables: It is bound to the `package-build` stage, and uses the following variables:
| Name | Description | Default value | | Name | Description | Default value |
| ------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------ | | ---------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `DOCKER_BUILD_ARGS` | Additional `docker/kaniko/buildah` `build` arguments | _(none)_ | | `DOCKER_BUILD_ARGS` | Additional `docker/kaniko/buildah` `build` arguments | _(none)_ |
| `DOCKER_REGISTRY_MIRROR` | URL of a Docker registry mirror to use during the image build (instead of default `https://index.docker.io`) <br>:warning: Used by the `kaniko` and `dind` options only | _(none)_ | | `DOCKER_REGISTRY_MIRROR` | URL of a Docker registry mirror to use during the image build (instead of default `https://index.docker.io`) <br>:warning: Used by the `kaniko` and `dind` options only | _(none)_ |
| `CONTAINER_REGISTRIES_CONFIG_FILE` | The [`registries.conf`](https://www.redhat.com/sysadmin/manage-container-registries) configuration to be used<br>:warning: Used by the `buildah` build only | _(none)_ | | `CONTAINER_REGISTRIES_CONFIG_FILE` | The [`registries.conf`](https://www.redhat.com/sysadmin/manage-container-registries) configuration to be used<br>:warning: Used by the `buildah` build only | _(none)_ |
| `DOCKER_METADATA` | Additional `docker build`/`kaniko` arguments to set label | OCI Image Format Specification | | `DOCKER_METADATA` | Additional `docker build`/`kaniko` arguments to set label | OCI Image Format Specification |
| `KANIKO_SNAPSHOT_IMAGE_CACHE` | Snapshot image repository that will be used to store cached layers<br>:warning: Used by the `kaniko` build only | `${DOCKER_SNAPSHOT_IMAGE%:*}/cache` |
This job produces _output variables_ that are propagated to downstream jobs (using [dotenv artifacts](https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#artifactsreportsdotenv)): This job produces _output variables_ that are propagated to downstream jobs (using [dotenv artifacts](https://docs.gitlab.com/ee/ci/pipelines/job_artifacts.html#artifactsreportsdotenv)):
......
...@@ -107,6 +107,12 @@ ...@@ -107,6 +107,12 @@
"name": "CONTAINER_REGISTRIES_CONFIG_FILE", "name": "CONTAINER_REGISTRIES_CONFIG_FILE",
"description": "The [registries.conf](https://www.redhat.com/sysadmin/manage-container-registries) configuration to be used\n\n_Used by the `buildah` build only_", "description": "The [registries.conf](https://www.redhat.com/sysadmin/manage-container-registries) configuration to be used\n\n_Used by the `buildah` build only_",
"advanced": true "advanced": true
},
{
"name": "KANIKO_SNAPSHOT_IMAGE_CACHE",
"description": "Snapshot image repository that will be used to store cached layers.\n\n_Used by the `kaniko` build only_",
"default": "${DOCKER_SNAPSHOT_IMAGE%:*}/cache",
"advanced": true
} }
], ],
"features": [ "features": [
......
...@@ -420,7 +420,7 @@ stages: ...@@ -420,7 +420,7 @@ stages:
function run_build_kaniko() { function run_build_kaniko() {
docker_image=$1 docker_image=$1
kaniko_registry_repository="${DOCKER_SNAPSHOT_IMAGE%:*}" kaniko_snapshot_image_cache="${KANIKO_SNAPSHOT_IMAGE_CACHE:-${DOCKER_SNAPSHOT_IMAGE%:*}/cache}"
shift shift
if [[ -n "$DOCKER_REGISTRY_MIRROR" ]] if [[ -n "$DOCKER_REGISTRY_MIRROR" ]]
then then
...@@ -428,9 +428,9 @@ stages: ...@@ -428,9 +428,9 @@ stages:
kaniko_registry_mirror_option="--registry-mirror $(echo ${DOCKER_REGISTRY_MIRROR} | sed "s|^https*://||")" kaniko_registry_mirror_option="--registry-mirror $(echo ${DOCKER_REGISTRY_MIRROR} | sed "s|^https*://||")"
fi fi
log_info "Build & deploy image $docker_image" log_info "Build & deploy image $docker_image"
log_info "Kaniko command: /kaniko/executor --context $(docker_context_path) --dockerfile $DOCKER_FILE --destination $docker_image --cache --cache-dir=${CI_PROJECT_DIR}/.cache --cache-repo=$kaniko_registry_repository --verbosity $DOCKER_KANIKO_VERBOSITY $kaniko_registry_mirror_option $DOCKER_METADATA $DOCKER_BUILD_ARGS $*" log_info "Kaniko command: /kaniko/executor --context $(docker_context_path) --dockerfile $DOCKER_FILE --destination $docker_image --cache --cache-dir=${CI_PROJECT_DIR}/.cache --cache-repo=${kaniko_snapshot_image_cache} --verbosity $DOCKER_KANIKO_VERBOSITY $kaniko_registry_mirror_option $DOCKER_METADATA $DOCKER_BUILD_ARGS $*"
# shellcheck disable=SC2086 # shellcheck disable=SC2086
/kaniko/executor --context "$(docker_context_path)" --dockerfile "$DOCKER_FILE" --destination "$docker_image" --cache --cache-dir="${CI_PROJECT_DIR}/.cache" --cache-repo="$kaniko_registry_repository" --verbosity $DOCKER_KANIKO_VERBOSITY $kaniko_registry_mirror_option $DOCKER_METADATA $DOCKER_BUILD_ARGS "$@" /kaniko/executor --context "$(docker_context_path)" --dockerfile "$DOCKER_FILE" --destination "$docker_image" --cache --cache-dir="${CI_PROJECT_DIR}/.cache" --cache-repo="${kaniko_snapshot_image_cache}" --verbosity $DOCKER_KANIKO_VERBOSITY $kaniko_registry_mirror_option $DOCKER_METADATA $DOCKER_BUILD_ARGS "$@"
} }
# Used by containers tools like buildah, skopeo. # Used by containers tools like buildah, skopeo.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment