Skip to content

Commit 85ae369

Browse files
committed
[5.0.x] - refactor: build docker images on release. Simplify dev images
1 parent ab0361e commit 85ae369

File tree

1 file changed

+26
-6
lines changed

1 file changed

+26
-6
lines changed

docker/Dockerfile

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,11 @@ RUN set -eux \
5454
&& sed -i -e "s/;owner = www-data/owner = ${USER}/g" /usr/local/etc/php-fpm.d/www.conf \
5555
&& sed -i -e "s/;user = www-data/user = ${USER}/g" /usr/local/etc/php-fpm.d/www.conf \
5656
&& sed -i -e "s/;group = www-data/group = ${GROUP}/g" /usr/local/etc/php-fpm.d/www.conf \
57+
# Load healthcheck script \
58+
&& curl -o /usr/local/bin/php-fpm-healthcheck \
59+
https://raw.githubusercontent.com/renatomefi/php-fpm-healthcheck/master/php-fpm-healthcheck \
60+
&& chown "${USER}":"${GROUP}" /usr/local/bin/php-fpm-healthcheck \
61+
&& chmod 0770 /usr/local/bin/php-fpm-healthcheck \
5762
# Set correct pid file location and permissions \
5863
&& mkdir -p /run/php \
5964
&& chown "${USER}":"${GROUP}" /run/php \
@@ -62,11 +67,14 @@ RUN set -eux \
6267
&& apt-get autoremove --purge -y \
6368
&& apt-get autoclean -y \
6469
&& apt-get clean -y \
65-
&& rm -rf /tmp/* /var/tmp/* /srv /root/.composer /usr/bin/composer /tmp/phalcon.so \
70+
&& rm -rf /tmp/* /var/tmp/* \
6671
&& find /var/cache/apt/archives /var/lib/apt/lists -not -name lock -type f -delete \
6772
&& find /var/cache -type f -delete \
6873
&& find /var/log -type f -delete
6974

75+
HEALTHCHECK --interval=5s --timeout=1s \
76+
CMD php-fpm-healthcheck || exit 1
77+
7078
FROM base AS dev
7179

7280
# This part prepares a dev environment to compile phalcon from zephir
@@ -81,9 +89,12 @@ SHELL [ "/bin/bash", "-o", "pipefail", "-c" ]
8189
RUN set -eux \
8290
&& apt-get update \
8391
&& apt-get install -yq --no-install-recommends zip=3.* unzip=6.* \
84-
&& rm -rf /srv/vendor \
8592
&& echo 'memory_limit = -1' > "$(php-config --ini-dir)/90-memory.ini" \
86-
&& install-php-extensions zephir_parser
93+
&& install-php-extensions zephir_parser \
94+
# Cleanup
95+
&& apt-get autoclean -y \
96+
&& apt-get clean -y \
97+
&& rm -rf /tmp/* /var/tmp/*
8798

8899
FROM dev AS phalcon
89100

@@ -93,9 +104,11 @@ FROM dev AS phalcon
93104
COPY ./ /srv
94105

95106
RUN set -eux \
107+
&& rm -rf /srv/vendor \
96108
&& composer global require phalcon/zephir:dev-development \
97109
&& /root/.composer/vendor/bin/zephir fullclean \
98-
&& /root/.composer/vendor/bin/zephir build
110+
&& /root/.composer/vendor/bin/zephir build \
111+
&& cat compile-errors.log
99112

100113
FROM base AS prod
101114

@@ -122,10 +135,17 @@ SHELL [ "/bin/bash", "-o", "pipefail", "-c" ]
122135

123136
RUN set -eux \
124137
# Install phalcon \
125-
&& cp /tmp/phalcon.so "$(php-config --extension-dir)/phalcon.so" \
138+
&& mv /tmp/phalcon.so "$(php-config --extension-dir)/phalcon.so" \
126139
&& echo "extension=phalcon.so" > /usr/local/etc/php/conf.d/70-phalcon.ini \
127140
# Cleanup
128-
&& rm -rf /tmp/* /var/tmp/* /srv /root/.composer /usr/bin/composer /tmp/phalcon.so
141+
&& rm -rf /tmp/* /var/tmp/* /srv /root/.composer /usr/bin/composer \
142+
&& apt-get autoremove --purge -y curl \
143+
&& apt-get autoclean -y \
144+
&& apt-get clean -y \
145+
&& rm -rf /tmp/* /var/tmp/* \
146+
&& find /var/cache/apt/archives /var/lib/apt/lists -not -name lock -type f -delete \
147+
&& find /var/cache -type f -delete \
148+
&& find /var/log -type f -delete
129149

130150
WORKDIR /app
131151

0 commit comments

Comments
 (0)