Repository navigation
Expand file tree
/
Copy pathDockerfile
More file actions
56 lines (48 loc) · 1.96 KB
/
Copy pathDockerfile
File metadata and controls
56 lines (48 loc) · 1.96 KB
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
FROM composer:2.10.3 as composer
FROM php:8.5.11-alpine3.24 as build
COPY --from=composer /usr/bin/composer /usr/bin/composer
WORKDIR /app/
COPY app/ /app/
RUN chmod a+rx /usr/bin/composer && /usr/bin/composer install --no-interaction --no-scripts --no-progress --optimize-autoloader
FROM pipelinecomponents/base-entrypoint:0.5.0 as entrypoint
FROM php:8.5.11-alpine3.24
COPY --from=entrypoint /entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
ENV DEFAULTCMD phpunit
ENV PATH "$PATH:/app/vendor/bin/"
# hadolint ignore=DL3018
RUN apk add --no-cache curl libpq \
&& apk add --virtual build-dependencies --no-cache build-base autoconf libxml2-dev linux-headers postgresql-dev \
&& docker-php-source extract \
&& pecl install xdebug-3.5.1 \
&& docker-php-ext-enable xdebug \
&& docker-php-ext-install soap \
&& docker-php-ext-install mysqli \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install pdo_pgsql \
&& docker-php-ext-enable soap \
&& docker-php-ext-enable mysqli \
&& docker-php-ext-enable pdo_mysql \
&& docker-php-ext-enable pdo_pgsql \
&& docker-php-source delete \
&& apk del build-dependencies \
&& pecl clear-cache \
&& rm -rf /tmp/pear
COPY --from=build /app/ /app/
COPY php.ini /usr/local/etc/php/php.ini
WORKDIR /code/
# Build arguments
ARG BUILD_DATE
ARG BUILD_REF
# Labels
LABEL \
maintainer="Robbert Müller <dev@pipeline-components.dev>" \
org.label-schema.description="PHPUnit in a container for gitlab-ci" \
org.label-schema.build-date=${BUILD_DATE} \
org.label-schema.name="PHPUnit" \
org.label-schema.schema-version="1.0" \
org.label-schema.url="https://pipeline-components.gitlab.io/" \
org.label-schema.usage="https://gitlab.com/pipeline-components/phpunit/blob/main/README.md" \
org.label-schema.vcs-ref=${BUILD_REF} \
org.label-schema.vcs-url="https://gitlab.com/pipeline-components/phpunit/" \
org.label-schema.vendor="Pipeline Components"