Use Zstandard to transfer Docker images between CI jobs

This commit is contained in:
Héctor Molinero Fernández
2020-10-14 18:29:45 +02:00
parent 6efb24389f
commit b3150bb0ed
2 changed files with 8 additions and 8 deletions

View File

@@ -16,8 +16,8 @@ default:
alias: 'dockerd'
.cmds:
- &cmd_install_build_packages 'apk add --no-cache coreutils git m4 make xz'
- &cmd_install_push_packages 'apk add --no-cache coreutils git make xz'
- &cmd_install_build_packages 'apk add --no-cache coreutils git m4 make zstd'
- &cmd_install_push_packages 'apk add --no-cache coreutils git make zstd'
- &cmd_docker_login_registry 'docker login -u "${CI_REGISTRY_USER:?}" -p "${CI_REGISTRY_PASSWORD:?}" "${CI_REGISTRY:?}"'
.regexes:

View File

@@ -24,16 +24,16 @@ endif
IMAGE_BUILD_OPTS :=
IMAGE_NATIVE_DOCKERFILE := $(DISTDIR)/Dockerfile
IMAGE_NATIVE_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).txz
IMAGE_NATIVE_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).tzst
IMAGE_AMD64_DOCKERFILE := $(DISTDIR)/Dockerfile.amd64
IMAGE_AMD64_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).amd64.txz
IMAGE_AMD64_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).amd64.tzst
IMAGE_ARM64V8_DOCKERFILE := $(DISTDIR)/Dockerfile.arm64v8
IMAGE_ARM64V8_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).arm64v8.txz
IMAGE_ARM64V8_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).arm64v8.tzst
IMAGE_ARM32V7_DOCKERFILE := $(DISTDIR)/Dockerfile.arm32v7
IMAGE_ARM32V7_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).arm32v7.txz
IMAGE_ARM32V7_TARBALL := $(DISTDIR)/$(IMAGE_PROJECT).arm32v7.tzst
##################################################
## "all" target
@@ -114,7 +114,7 @@ $(IMAGE_ARM32V7_DOCKERFILE): $(DOCKERFILE_TEMPLATE)
##################################################
define save_image
'$(DOCKER)' save '$(1)' | xz -T0 > '$(2)'
'$(DOCKER)' save '$(1)' | zstd -T0 -1 > '$(2)'
endef
.PHONY: save-native-image
@@ -149,7 +149,7 @@ $(IMAGE_ARM32V7_TARBALL): $(IMAGE_ARM32V7_DOCKERFILE)
##################################################
define load_image
'$(DOCKER)' load -i '$(1)'
zstd -dc '$(1)' | '$(DOCKER)' load
endef
define tag_image