aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard Mortier <mort@cantab.net>2019-03-22 18:01:14 +0000
committerRichard Mortier <mort@cantab.net>2019-03-22 18:01:14 +0000
commitc01bf6a5d4ac1640dbe3546cb77c2f3d61b56b74 (patch)
treeb35f489af18f1cfcb02824d93e55650a55becb98
parentd6457141fa1cccb24ac8a1bfa35a143265ba7aeb (diff)
downloaddocker-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--.dockerignore1
-rw-r--r--Dockerfile.in (renamed from Dockerfile)7
-rw-r--r--Makefile18
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"]
diff --git a/Makefile b/Makefile
index b69fb42..a6f00a0 100644
--- a/Makefile
+++ b/Makefile
@@ -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