Merge branch 'php-almalinux'
This commit is contained in:
commit
e9269a86ad
|
@ -0,0 +1,100 @@
|
|||
name: Build and push PHP based on almalinux
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php-almalinux
|
||||
|
||||
jobs:
|
||||
base:
|
||||
name: Build php8-almalinux
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
params:
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "7.2"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "7.3"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "7.4"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.0"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.1"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.2"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.3"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.4"
|
||||
composer_version: "2.8.9"
|
||||
latest: 'true'
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- if: ${{ matrix.params.latest != 'true' && startsWith(matrix.params.php_version, '8') }}
|
||||
name: Build and push php 8
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
- if: ${{ matrix.params.latest != 'true' && startsWith(matrix.params.php_version, '7') }}
|
||||
name: Build and push php 7
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
- if: ${{ matrix.params.latest == 'true' }}
|
||||
name: Build and push php 8 latest
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
quay.io/teras/php:8
|
||||
quay.io/teras/php:latest
|
|
@ -1,76 +0,0 @@
|
|||
name: Build and push PHP 8 container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php8-almalinux
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build php8-almalinux
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.0"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.1"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.2"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.3"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.4"
|
||||
composer_version: "2.8.9"
|
||||
latest: 'true'
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- if: ${{ matrix.flavors.latest != 'true' }}
|
||||
name: Build and push php ${{ matrix.flavors.php_version }}
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.flavors.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.flavors.php_version }}
|
||||
- if: ${{ matrix.flavors.latest == 'true' }}
|
||||
name: Build and push php ${{ matrix.flavors.php_version }}
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.flavors.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.flavors.php_version }}
|
||||
quay.io/teras/php:8
|
||||
quay.io/teras/php:latest
|
|
@ -0,0 +1,68 @@
|
|||
ARG OS_VERSION=8.10
|
||||
|
||||
FROM quay.io/teras/almalinux:${OS_VERSION}-minimal AS builder
|
||||
|
||||
ARG PHP_VERSION=7.4
|
||||
ARG COMPOSER_VERSION=2.8.9
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
RUN /bin/microdnf -y --nodocs install shadow-utils; \
|
||||
/bin/mkdir -p ${SERVER_ROOT}; \
|
||||
/sbin/groupadd -g 10000 php; \
|
||||
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -M -d ${SERVER_ROOT} php; \
|
||||
/bin/chown -R php:php ${SERVER_ROOT}; \
|
||||
/bin/microdnf -y --nodocs install epel-release; \
|
||||
/bin/microdnf -y upgrade; \
|
||||
/bin/rpm -Uvh --replacepkgs --replacefiles \
|
||||
https://rpms.remirepo.net/enterprise/remi-release-8.rpm; \
|
||||
/bin/microdnf -y module reset php; \
|
||||
/bin/microdnf -y module enable php:remi-${PHP_VERSION}; \
|
||||
/bin/microdnf -y --nodocs install \
|
||||
php php-cli php-common php-phar \
|
||||
php-iconv php-mbstring php-json;
|
||||
|
||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||
|
||||
RUN /bin/chmod +rx /usr/local/bin/composer; \
|
||||
/bin/microdnf -y remove shadow-utils; \
|
||||
/bin/microdnf clean all; \
|
||||
/bin/rm -rf /var/cache/yum/*; \
|
||||
/bin/rm -rf /var/lib/yum/history/*; \
|
||||
/bin/rm -rf /var/lib/yum/yumdb/*; \
|
||||
/bin/rm -rf /var/lib/dnf/*;
|
||||
|
||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
||||
RUN ln -ns /usr/bin/php${PHP_VERSION} /usr/bin/php; exit 0
|
||||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=7.4
|
||||
ARG COMPOSER_VERSION=2.8.9
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <aditya@teraslink.id>"
|
||||
LABEL name="php"
|
||||
LABEL version="${PHP_VERSION}"
|
||||
LABEL distribution-scope="public"
|
||||
|
||||
#labels for container catalog
|
||||
LABEL summary="PHP ${PHP_VERSION} on almalinux-minimal container image"
|
||||
LABEL description="Provide php on almalinux-minimal container base image"
|
||||
LABEL io.k8s.description="PHP with composer"
|
||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
||||
|
||||
COPY --from=builder / /
|
||||
|
||||
WORKDIR ${SERVER_ROOT}
|
||||
|
||||
USER php
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
CMD ["/usr/bin/php", "-v"]
|
|
@ -11,7 +11,7 @@ ENV SERVER_ROOT=/app
|
|||
|
||||
RUN /bin/mkdir -p ${SERVER_ROOT}; \
|
||||
/sbin/groupadd -g 10000 php; \
|
||||
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -d ${SERVER_ROOT} php; \
|
||||
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -M -d ${SERVER_ROOT} php; \
|
||||
/bin/chown -R php:php ${SERVER_ROOT}; \
|
||||
/bin/microdnf -y --nodocs install epel-release; \
|
||||
/bin/microdnf -y upgrade; \
|
||||
|
@ -25,8 +25,7 @@ RUN /bin/mkdir -p ${SERVER_ROOT}; \
|
|||
|
||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||
|
||||
RUN /bin/chown php:php /usr/local/bin/composer; \
|
||||
/bin/chmod +rx /usr/local/bin/composer; \
|
||||
RUN /bin/chmod +rx /usr/local/bin/composer; \
|
||||
/bin/microdnf clean all; \
|
||||
/bin/rm -rf /var/cache/yum/*; \
|
||||
/bin/rm -rf /var/lib/yum/history/*; \
|
||||
|
|
Loading…
Reference in New Issue