mirror of
https://github.com/bensuperpc/dockcross.git
synced 2025-06-10 21:19:26 +02:00
dockerfile: Keep track of buildtime metadata
This commit build each images with the following arguments: * IMAGE: Name of the image (e.g dockcross/base, dockcross/manylinux-x64, ...) * VCS_REF: dockcross/dockcross commit from which this image is built * VCS_URL: this repository obtained reading remote.origin.url * BUILD_DATE: Date and time when the build was initiated Then, within the Dockerfile, the metadata are associated with the image using the "LABEL" instruction. See https://docs.docker.com/engine/reference/builder/#/label The corresponding labels can be found here: http://label-schema.org/rc1/#build-time-labels See #28
This commit is contained in:
35
Makefile
35
Makefile
@ -41,7 +41,12 @@ test: base.test $(addsuffix .test,$(IMAGES))
|
||||
#
|
||||
browser-asmjs: base
|
||||
cp -r test browser-asmjs/
|
||||
$(DOCKER) build -t $(ORG)/browser-asmjs browser-asmjs
|
||||
$(DOCKER) build -t $(ORG)/browser-asmjs \
|
||||
--build-arg IMAGE=$(ORG)/browser-asmjs \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
browser-asmjs
|
||||
rm -rf browser-asmjs/test
|
||||
|
||||
browser-asmjs.test: browser-asmjs
|
||||
@ -55,7 +60,12 @@ manylinux-x64/Dockerfile: manylinux-x64/Dockerfile.in common.docker
|
||||
sed '/common.docker/ r common.docker' manylinux-x64/Dockerfile.in > manylinux-x64/Dockerfile
|
||||
|
||||
manylinux-x64: manylinux-x64/Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/manylinux-x64 -f manylinux-x64/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux-x64 \
|
||||
--build-arg IMAGE=$(ORG)/manylinux-x64 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux-x64/Dockerfile .
|
||||
|
||||
manylinux-x64.test: manylinux-x64
|
||||
$(DOCKER) run --rm dockcross/manylinux-x64 > $(BIN)/dockcross-manylinux-x64 && chmod +x $(BIN)/dockcross-manylinux-x64
|
||||
@ -68,7 +78,12 @@ manylinux-x86/Dockerfile: manylinux-x86/Dockerfile.in common.docker
|
||||
sed '/common.docker/ r common.docker' manylinux-x86/Dockerfile.in > manylinux-x86/Dockerfile
|
||||
|
||||
manylinux-x86: manylinux-x86/Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/manylinux-x86 -f manylinux-x86/Dockerfile .
|
||||
$(DOCKER) build -t $(ORG)/manylinux-x86 \
|
||||
--build-arg IMAGE=$(ORG)/manylinux-x86 \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
-f manylinux-x86/Dockerfile .
|
||||
|
||||
manylinux-x86.test: manylinux-x86
|
||||
$(DOCKER) run --rm dockcross/manylinux-x86 > $(BIN)/dockcross-manylinux-x86 && chmod +x $(BIN)/dockcross-manylinux-x86
|
||||
@ -81,7 +96,12 @@ Dockerfile: Dockerfile.in common.docker
|
||||
sed '/common.docker/ r common.docker' Dockerfile.in > Dockerfile
|
||||
|
||||
base: Dockerfile
|
||||
$(DOCKER) build -t $(ORG)/base .
|
||||
$(DOCKER) build -t $(ORG)/base \
|
||||
--build-arg IMAGE=$(ORG)/base \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
.
|
||||
|
||||
base.test: base
|
||||
$(DOCKER) run --rm dockcross/base > $(BIN)/dockcross-base && chmod +x $(BIN)/dockcross-base
|
||||
@ -98,7 +118,12 @@ $(VERBOSE).SILENT: display_images
|
||||
# build implicit rule
|
||||
#
|
||||
$(STANDARD_IMAGES): base
|
||||
$(DOCKER) build -t $(ORG)/$@ $@
|
||||
$(DOCKER) build -t $(ORG)/$@ \
|
||||
--build-arg IMAGE=$(ORG)/$@ \
|
||||
--build-arg VCS_REF=`git rev-parse --short HEAD` \
|
||||
--build-arg VCS_URL=`git config --get remote.origin.url` \
|
||||
--build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` \
|
||||
$@
|
||||
|
||||
#
|
||||
# testing implicit rule
|
||||
|
Reference in New Issue
Block a user