Skip to content
This repository was archived by the owner on Jul 18, 2025. It is now read-only.

Commit 74f33d9

Browse files
author
Vincent Demeester
authored
Merge pull request #216 from vdemeester/build-time
Simplify and enhance docker.Makefile
2 parents bfd1b03 + cc8dcbd commit 74f33d9

4 files changed

Lines changed: 17 additions & 37 deletions

File tree

.dockerignore

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,4 @@
11
*.dockerapp
22
*.tar.gz
33
_build/
4-
bin/docker-app-windows.exe
5-
bin/docker-app-darwin
6-
bin/docker-app-e2e-*
4+
bin

Dockerfile

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ RUN apk add --no-cache \
99
make\
1010
git \
1111
curl \
12-
util-linux
12+
util-linux \
13+
coreutils
1314
RUN curl -Ls https://download.docker.com/linux/static/$DOCKERCLI_CHANNEL/x86_64/docker-$DOCKERCLI_VERSION.tgz | \
1415
tar -xz docker/docker && \
15-
ls -l . && \
1616
mv docker/docker /usr/bin/docker
1717

1818
WORKDIR /go/src/github.com/docker/app/
@@ -23,22 +23,10 @@ RUN curl -o /usr/bin/dep -L https://github.com/golang/dep/releases/download/${DE
2323
chmod +x /usr/bin/dep
2424
COPY . .
2525

26-
FROM dev AS docker-app
27-
ARG COMMIT=unknown
28-
ARG TAG=unknown
29-
ARG BUILDTIME=unknown
30-
RUN make COMMIT=${COMMIT} TAG=${TAG} BUILDTIME=${BUILDTIME} bin/docker-app
31-
3226
# FIXME(vdemeester) change from docker-app to dev once buildkit is merged in moby/docker
33-
FROM docker-app AS cross
34-
ARG COMMIT=unknown
35-
ARG TAG=unknown
36-
ARG BUILDTIME=unknown
37-
RUN make COMMIT=${COMMIT} TAG=${TAG} BUILDTIME=${BUILDTIME} cross
27+
FROM dev AS cross
28+
RUN make cross
3829

3930
# FIXME(vdemeester) change from docker-app to dev once buildkit is merged in moby/docker
4031
FROM cross AS e2e-cross
41-
ARG COMMIT=unknown
42-
ARG TAG=unknown
43-
ARG BUILDTIME=unknown
44-
RUN make COMMIT=${COMMIT} TAG=${TAG} BUILDTIME=${BUILDTIME} e2e-cross
32+
RUN make e2e-cross

Dockerfile.lint

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ FROM golang:${GO_VERSION}-alpine${ALPINE_VERSION}
55
RUN apk add --no-cache \
66
curl \
77
git \
8-
make
8+
make \
9+
coreutils
910

1011
ENV GOMETALITER_VERSION=2.0.5
1112
ENV NAKEDRECT_SHA=c0e305a4f690fed163d47628bcc06a6d5655bf92
@@ -23,7 +24,5 @@ RUN git clone https://github.com/alexkohler/nakedret.git /go/src/github.com/alex
2324

2425
WORKDIR /go/src/github.com/docker/app
2526
ENV CGO_ENABLED=0
26-
ARG BUILDTIME=unknown
27-
ENV BUILDTIME=${BUILDTIME}
2827

2928
COPY . .

docker.Makefile

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,6 @@ CROSS_CTNR_NAME := $(BIN_NAME)-cross-$(TAG)
1212
E2E_CROSS_CTNR_NAME := $(BIN_NAME)-e2e-cross-$(TAG)
1313
COV_CTNR_NAME := $(BIN_NAME)-cov-$(TAG)
1414

15-
IMAGE_BUILD_ARGS := \
16-
--build-arg COMMIT=$(COMMIT) \
17-
--build-arg TAG=$(TAG) \
18-
--build-arg BUILDTIME=$(BUILDTIME)
19-
2015
PKG_PATH := /go/src/$(PKG_NAME)
2116

2217
.DEFAULT: all
@@ -26,13 +21,13 @@ create_bin:
2621
@$(call mkdir,bin)
2722

2823
build_dev_image:
29-
docker build --target=dev -t $(DEV_IMAGE_NAME) $(IMAGE_BUILD_ARGS) .
24+
docker build --target=dev -t $(DEV_IMAGE_NAME) .
3025

3126
shell: build_dev_image
3227
docker run -ti --rm $(DEV_IMAGE_NAME) bash
3328

3429
cross: create_bin
35-
docker build --target=$* -t $(CROSS_IMAGE_NAME) $(IMAGE_BUILD_ARGS) .
30+
docker build --target=$* -t $(CROSS_IMAGE_NAME) .
3631
docker create --name $(CROSS_CTNR_NAME) $(CROSS_IMAGE_NAME) noop
3732
docker cp $(CROSS_CTNR_NAME):$(PKG_PATH)/bin/$(BIN_NAME)-linux bin/$(BIN_NAME)-linux
3833
docker cp $(CROSS_CTNR_NAME):$(PKG_PATH)/bin/$(BIN_NAME)-darwin bin/$(BIN_NAME)-darwin
@@ -43,7 +38,7 @@ cross: create_bin
4338
@$(call chmod,+x,bin/$(BIN_NAME)-windows.exe)
4439

4540
e2e-cross: create_bin
46-
docker build --target=e2e-cross -t $(E2E_CROSS_IMAGE_NAME) $(IMAGE_BUILD_ARGS) .
41+
docker build --target=e2e-cross -t $(E2E_CROSS_IMAGE_NAME) .
4742
docker create --name $(E2E_CROSS_CTNR_NAME) $(E2E_CROSS_IMAGE_NAME) noop
4843
docker cp $(E2E_CROSS_CTNR_NAME):$(PKG_PATH)/bin/$(BIN_NAME)-e2e-linux bin/$(BIN_NAME)-e2e-linux
4944
docker cp $(E2E_CROSS_CTNR_NAME):$(PKG_PATH)/bin/$(BIN_NAME)-e2e-darwin bin/$(BIN_NAME)-e2e-darwin
@@ -64,30 +59,30 @@ tars:
6459
test: test-unit test-e2e
6560

6661
test-unit: build_dev_image
67-
docker run --rm $(DEV_IMAGE_NAME) make COMMIT=${COMMIT} TAG=${TAG} BUILDTIME=${BUILDTIME} test-unit
62+
docker run --rm $(DEV_IMAGE_NAME) make test-unit
6863

6964
test-e2e: build_dev_image
70-
docker run -v /var/run:/var/run:ro --rm $(DEV_IMAGE_NAME) make COMMIT=${COMMIT} TAG=${TAG} BUILDTIME=${BUILDTIME} bin/$(BIN_NAME) test-e2e
65+
docker run -v /var/run:/var/run:ro --rm $(DEV_IMAGE_NAME) make bin/$(BIN_NAME) test-e2e
7166

7267
COV_LABEL := com.docker.app.cov-run=$(TAG)
7368
coverage: build_dev_image
7469
@$(call mkdir,_build)
75-
docker run -v /var/run:/var/run:ro --name $(COV_CTNR_NAME) -tid $(DEV_IMAGE_NAME) make COMMIT=${COMMIT} TAG=${TAG} BUILDTIME=${BUILDTIME} coverage
70+
docker run -v /var/run:/var/run:ro --name $(COV_CTNR_NAME) -tid $(DEV_IMAGE_NAME) make COMMIT=${COMMIT} TAG=${TAG} coverage
7671
docker logs -f $(COV_CTNR_NAME)
7772
docker cp $(COV_CTNR_NAME):$(PKG_PATH)/_build/cov/ ./_build/ci-cov
7873
docker rm $(COV_CTNR_NAME)
7974

8075
gradle-test:
81-
docker build -t $(GRADLE_IMAGE_NAME) -f Dockerfile.gradle .
76+
tar cf - Dockerfile.gradle bin/docker-app-linux integrations/gradle | docker build -t $(GRADLE_IMAGE_NAME) -f Dockerfile.gradle -
8277
docker run --rm $(GRADLE_IMAGE_NAME) bash -c "./gradlew --stacktrace build && cd example && gradle renderIt"
8378

8479
lint:
8580
$(info Linting...)
86-
docker build -t $(LINT_IMAGE_NAME) $(IMAGE_BUILD_ARGS) -f Dockerfile.lint .
81+
docker build -t $(LINT_IMAGE_NAME) -f Dockerfile.lint .
8782
docker run --rm $(LINT_IMAGE_NAME) make lint
8883

8984
vendor: build_dev_image
9085
$(info Vendoring...)
91-
docker run --rm $(DEV_IMAGE_NAME) sh -c "make BUILDTIME=${BUILDTIME} vendor && hack/check-git-diff vendor"
86+
docker run --rm $(DEV_IMAGE_NAME) sh -c "make vendor && hack/check-git-diff vendor"
9287

9388
.PHONY: lint test-e2e test-unit test cross e2e-cross coverage gradle-test shell build_dev_image tars vendor

0 commit comments

Comments
 (0)