forked from brefphp/extra-php-extensions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
67 lines (60 loc) · 2.08 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
SHELL := /bin/bash
php_versions = 72 73 74
layer = *
docker-images:
PWD=pwd
set -e; \
for dir in layers/${layer}; do \
for php_version in $(php_versions); do \
echo "###############################################"; \
echo "###############################################"; \
echo "### Building $${dir} PHP$${php_version}"; \
echo "###"; \
cd ${PWD} ; cd $${dir} ; \
docker build -t bref/$${dir}-php-$${php_version} --build-arg PHP_VERSION=$${php_version} ${DOCKER_BUILD_FLAGS} . ; \
echo ""; \
done \
done
# The PHP runtimes
layers: docker-images
PWD=pwd
rm -rf export/layer-${layer}.zip || true
mkdir export/tmp
set -e; \
for dir in layers/${layer}; do \
for php_version in $(php_versions); do \
echo "###############################################"; \
echo "###############################################"; \
echo "### Exporting $${dir} PHP$${php_version}"; \
echo "###"; \
cd ${PWD} ; rm -rf export/tmp/${layer} || true ; cd export/tmp ; \
docker run --entrypoint "tar" bref/$${dir}-php-$${php_version} -ch -C /opt . | tar -x ; \
zip --quiet -X --recurse-paths ../`echo "$${dir}-php-$${php_version}" | sed -e "s/layers\//layer-/g"`.zip . ; \
echo ""; \
done \
done
rm -rf export/tmp
publish: layers
php ./bref-extra publish
php ./bref-extra list
# Publish docker images
publish-docker-images: docker-images
for dir in layers/${layer}; do \
for php_version in $(php_versions); do \
echo "###############################################"; \
echo "###############################################"; \
echo "### Publishing $${dir} PHP$${php_version}"; \
echo "###"; \
privateImage="bref/$${dir}-php-$${php_version}"; \
publicImage=$${privateImage/layers\//extra-}; \
echo "Image name: $$publicImage"; \
docker tag $$privateImage:latest $$publicImage:latest ; \
docker push $$publicImage:latest; \
if (test $(DOCKER_TAG)); then \
echo "Pushing tagged images"; \
docker tag $$privateImage:latest $$publicImage:${DOCKER_TAG}; \
docker push $$publicImage:${DOCKER_TAG}; \
fi; \
echo ""; \
done \
done