I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
Verified Commit b0cd962c authored by LoveIsGrief's avatar LoveIsGrief
Browse files

Try using cache instead of local registry

We don't need a server and can just attempt to save the image to later load it.
parent 92462d89
No related branches found
No related tags found
1 merge request!1CI build images
image: docker:19.03.12
stages:
- docker_setup
- docker_test
- docker_push
......@@ -24,55 +23,47 @@ variables:
# Use TLS https://docs.gitlab.com/ee/ci/docker/using_docker_build.html#tls-enabled
DOCKER_HOST: tcp://docker:2376
# Support caching images between jobs
CI_LOCAL_REGISTRY_NAME: "localhost:5000"
CI_LOCAL_REGISTRY_IMAGE: "localhost:5000/reseed-tools"
.docker_cache:
cache:
key: "$CI_COMMIT_REF_SLUG"
paths:
- exports/*.tar
services:
- name: docker:19.03.12-dind
command:
- --insecure-registry
- localhost:5000
- docker:19.03.12-dind
# Login to job registry and publish registry
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
start_registry:
stage: docker_setup
script:
- docker run -d -p 5000:5000 --name registry registry:2
- docker ps -a
# Make sure we can build a docker image
# It's pushed to the pipeline-local registry which acts as a cache
build_docker:
extends:
- .docker_cache
stage: docker_test
script:
- docker ps -a
- docker ps -a | grep registry
- docker pull $CI_REGISTRY_IMAGE:latest || true
- docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_LOCAL_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA --tag $CI_LOCAL_REGISTRY_IMAGE:latest .
- docker push $CI_LOCAL_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
- docker push $CI_LOCAL_REGISTRY_IMAGE:latest
# Try to load latest branch image from local tar or from registry
- docker load exports/$CI_COMMIT_REF_SLUG.tar || docker pull $CI_REGISTRY_IMAGE:latest || true
- docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:latest .
- docker save $CI_REGISTRY_IMAGE:latest > exports/$CI_COMMIT_REF_SLUG.tar
test_pull_local_docker:
extends:
- .docker_cache
stage: docker_push
script:
- docker pull $CI_LOCAL_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA
- docker load exports/$CI_COMMIT_REF_SLUG.tar
push_docker:
stage: docker_push
extends:
- .docker_cache
script:
- docker pull $CI_LOCAL_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA || true
- docker tag $CI_LOCAL_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
- docker tag $CI_LOCAL_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA $CI_REGISTRY_IMAGE:latest
- docker load exports/$CI_COMMIT_REF_SLUG.tar
- docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG --tag $CI_REGISTRY_IMAGE:latest .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
- docker push $CI_REGISTRY_IMAGE:latest
# - docker pull $CI_REGISTRY_IMAGE:latest || true
# - docker build --cache-from $CI_REGISTRY_IMAGE:latest --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG --tag $CI_REGISTRY_IMAGE:latest .
# - docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_TAG
# - docker push $CI_REGISTRY_IMAGE:latest
only:
- master
- tags
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment