diff options
| author | Richard Mortier <mort@cantab.net> | 2019-03-22 18:01:14 +0000 |
|---|---|---|
| committer | Richard Mortier <mort@cantab.net> | 2019-03-22 18:01:14 +0000 |
| commit | c01bf6a5d4ac1640dbe3546cb77c2f3d61b56b74 (patch) | |
| tree | b35f489af18f1cfcb02824d93e55650a55becb98 | |
| parent | d6457141fa1cccb24ac8a1bfa35a143265ba7aeb (diff) | |
| download | docker-abuild-c01bf6a5d4ac1640dbe3546cb77c2f3d61b56b74.tar.bz2 docker-abuild-c01bf6a5d4ac1640dbe3546cb77c2f3d61b56b74.tar.xz | |
make: template `Dockerfile` to support different Alpine versions
Signed-off-by: Richard Mortier <mort@cantab.net>
| -rw-r--r-- | .dockerignore | 1 | ||||
| -rw-r--r-- | Dockerfile.in (renamed from Dockerfile) | 7 | ||||
| -rw-r--r-- | Makefile | 18 |
3 files changed, 22 insertions, 4 deletions
diff --git a/.dockerignore b/.dockerignore index 4f319eb..989208f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,3 @@ +Dockerfile.in Makefile abuild diff --git a/Dockerfile b/Dockerfile.in index 6c97f42..e15f46d 100644 --- a/Dockerfile +++ b/Dockerfile.in @@ -1,4 +1,4 @@ -FROM alpine:edge +FROM alpine:%%ALPINE_TAG%% MAINTAINER Richard Mortier <mort@cantab.net> RUN apk add --update-cache \ @@ -11,7 +11,10 @@ RUN adduser -D builder \ && echo 'builder ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers COPY entrypoint.sh /home/builder +RUN echo /home/builder/packages/main >> /etc/apk/repositories \ + && echo /home/builder/packages/community >> /etc/apk/repositories \ + && echo /home/builder/packages/testing >> /etc/apk/repositories USER builder -WORKDIR /cwd +WORKDIR /home/builder ENTRYPOINT ["/home/builder/entrypoint.sh"] @@ -1,7 +1,21 @@ +TAGS := $(shell \ + curl -s https://registry.hub.docker.com/v1/repositories/alpine/tags \ + | jq -r '.[].name' \ +) + .PHONY: build -build: - DOCKER_BUILDKIT=1 docker build $(DOCKER_FLAGS) -t mor1/abuild . +build: $(patsubst %, build-%, $(TAGS)) + +.PHONY: build-% +build-%: + sed 's/%%ALPINE_TAG%%/$*/' Dockerfile.in >| Dockerfile + DOCKER_BUILDKIT=1 docker build $$DOCKER_FLAGS -t mor1/abuild:$* . + $(RM) Dockerfile .PHONY: push push: build docker push $(DOCKER_FLAGS) mor1/abuild + +.PHONY: clean +clean: + $(RM) Dockerfile |
