Added ubi9-micro based image
Build and Push Alpine based Composer Image / Build and push composer on alpine based image (push) Successful in 1m16s Details
Build and Push UBI9 based Composer Image / Build and push composer on ubi9-micro based image (push) Successful in 6m37s Details
Build and Push UBI9 based Composer Image / Build and push composer on ubi9 based image (push) Successful in 1m41s Details

This commit is contained in:
Muhamad Aditya Prima 2024-12-13 21:31:01 +07:00
parent e00559e4b5
commit ce8f3b2939
4 changed files with 277 additions and 5 deletions

View File

@ -25,6 +25,7 @@ jobs:
context: .
file: Dockerfile.alpine-php5
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.2.25
PHP_VERSION=5.6
push: true
@ -37,6 +38,7 @@ jobs:
context: .
file: Dockerfile.alpine-php7
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=7.2
push: true
@ -49,6 +51,7 @@ jobs:
context: .
file: Dockerfile.alpine-php7
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=7.3
push: true
@ -61,6 +64,7 @@ jobs:
context: .
file: Dockerfile.alpine-php7
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=7.4
push: true
@ -73,6 +77,7 @@ jobs:
context: .
file: Dockerfile.alpine
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.0
push: true
@ -85,6 +90,7 @@ jobs:
context: .
file: Dockerfile.alpine
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.1
push: true
@ -97,6 +103,7 @@ jobs:
context: .
file: Dockerfile.alpine
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.2
push: true
@ -109,6 +116,7 @@ jobs:
context: .
file: Dockerfile.alpine
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.3
push: true
@ -121,6 +129,7 @@ jobs:
context: .
file: Dockerfile.alpine
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.4
push: true

View File

@ -93,3 +93,93 @@ jobs:
aprimediet/composer:2.8-php8.4-ubi9
aprimediet/composer:2.8-ubi9
aprimediet/composer:ubi9
build-micro:
name: Build and push composer on ubi9-micro based image
runs-on: ubuntu-latest
needs:
- build
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: docker.io
username: aprimediet
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push 2.8 on php7.4 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
COMPOSER_VERSION=2.8.4
PHP_VERSION=7.4
push: true
tags: |
aprimediet/composer:2.8.4-php7.4-ubi9-micro
aprimediet/composer:2.8-php7.4-ubi9-micro
- name: Build and push 2.8 on php8.0 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.0
push: true
tags: |
aprimediet/composer:2.8.4-php8.0-ubi9-micro
aprimediet/composer:2.8-php8.0-ubi9-micro
- name: Build and push 2.8 on php8.1 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.1
push: true
tags: |
aprimediet/composer:2.8.4-php8.1-ubi9-micro
aprimediet/composer:2.8-php8.1-ubi9-micro
- name: Build and push 2.8 on php8.2 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.2
push: true
tags: |
aprimediet/composer:2.8.4-php8.2-ubi9-micro
aprimediet/composer:2.8-php8.2-ubi9-micro
- name: Build and push 2.8 on php8.3 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.3
push: true
tags: |
aprimediet/composer:2.8.4-php8.3-ubi9-micro
aprimediet/composer:2.8-php8.3-ubi9-micro
- name: Build and push 2.8 on php8.4 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.4
push: true
tags: |
aprimediet/composer:2.8.4-php8.4-ubi9-micro
aprimediet/composer:2.8-php8.4-ubi9-micro
aprimediet/composer:2.8-ubi9-micro
aprimediet/composer:ubi9-micro

View File

@ -25,6 +25,7 @@ jobs:
context: .
file: Dockerfile.ubi9
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=7.4
push: true
@ -37,6 +38,7 @@ jobs:
context: .
file: Dockerfile.ubi9
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.0
push: true
@ -49,6 +51,7 @@ jobs:
context: .
file: Dockerfile.ubi9
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.1
push: true
@ -61,6 +64,7 @@ jobs:
context: .
file: Dockerfile.ubi9
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.2
push: true
@ -73,6 +77,7 @@ jobs:
context: .
file: Dockerfile.ubi9
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.3
push: true
@ -85,6 +90,7 @@ jobs:
context: .
file: Dockerfile.ubi9
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.4
push: true
@ -93,3 +99,97 @@ jobs:
git.winteraccess.id/${{ gitea.repository }}:2.8-php8.4-ubi9
git.winteraccess.id/${{ gitea.repository }}:2.8-ubi9
git.winteraccess.id/${{ gitea.repository }}:ubi9
build-micro:
name: Build and push composer on ubi9 based image
runs-on: ubuntu-latest
container:
image: ghcr.io/catthehacker/ubuntu:act-latest
steps:
- name: Check out repository code
uses: actions/checkout@v3
- name: Login to Docker Registry
uses: docker/login-action@v3
with:
registry: git.winteraccess.id
username: ${{ vars.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build and push 2.8 on php7.4 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=7.4
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:2.8.4-php7.4-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-php7.4-ubi9-micro
- name: Build and push 2.8 on php8.0 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.0
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:2.8.4-php8.0-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-php8.0-ubi9-micro
- name: Build and push 2.8 on php8.1 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.1
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:2.8.4-php8.1-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-php8.1-ubi9-micro
- name: Build and push 2.8 on php8.2 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.2
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:2.8.4-php8.2-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-php8.2-ubi9-micro
- name: Build and push 2.8 on php8.3 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.3
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:2.8.4-php8.3-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-php8.3-ubi9-micro
- name: Build and push 2.8 on php8.4 ubi9-micro
uses: docker/build-push-action@v5
with:
context: .
file: Dockerfile.ubi9-micro
build-args: |
REGISTRY_URL=git.winteraccess.id/docker
COMPOSER_VERSION=2.8.4
PHP_VERSION=8.4
push: true
tags: |
git.winteraccess.id/${{ gitea.repository }}:2.8.4-php8.4-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-php8.4-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:2.8-ubi9-micro
git.winteraccess.id/${{ gitea.repository }}:ubi9-micro

View File

@ -1,9 +1,82 @@
ARG REGISTRY_URL=docker.io/aprimediet
ARG PHP_VERSION=8.4
ARG UBI_VERSION=9.5
ARG COMPOSER_VERSION=2.8.4
FROM ${REGISTRY_URL}/php:${PHP_VERSION}-apache-ubi9 AS builder
FROM ${REGISTRY_URL}/composer:${COMPOSER_VERSION}-php${PHP_VERSION}-ubi9 AS builder
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
FROM ${REGISTRY_URL}/composer:${PHP_VERSION}-ubi9-micro AS runtime
FROM ${REGISTRY_URL}/ubi9:${UBI_VERSION}-micro AS runtime
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
USER root
WORKDIR /tmp
# Set composer home
ENV COMPOSER_HOME=/usr/local/share/composer
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
# Create user and group
RUN echo "composer:x:10001:" >> /etc/group && \
echo "composer:x:10001:10001:Composer:/build:/sbin/nologin" >> /etc/passwd && \
echo "composer:!!:20070::::::" >> /etc/shadow
# Copy required libs
COPY --from=builder /usr/lib64/fipscheck /usr/lib64/fipscheck
COPY --from=builder /usr/lib64/libbz2* /usr/lib64
COPY --from=builder /usr/lib64/libcrypt* /usr/lib64
COPY --from=builder /usr/lib64/libcom_err* /usr/lib64
COPY --from=builder /usr/lib64/libcurl* /usr/lib64
COPY --from=builder /usr/lib64/libedit* /usr/lib64
COPY --from=builder /usr/lib64/libexslt* /usr/lib64
COPY --from=builder /usr/lib64/libgssapi* /usr/lib64
COPY --from=builder /usr/lib64/libkeyutils* /usr/lib64
COPY --from=builder /usr/lib64/libkrb5* /usr/lib64
COPY --from=builder /usr/lib64/libk5crypto* /usr/lib64
COPY --from=builder /usr/lib64/liblzma* /usr/lib64
COPY --from=builder /usr/lib64/libnghttp2* /usr/lib64
COPY --from=builder /usr/lib64/libonig* /usr/lib64
COPY --from=builder /usr/lib64/libssl* /usr/lib64
COPY --from=builder /usr/lib64/libxml* /usr/lib64
COPY --from=builder /usr/lib64/libxslt* /usr/lib64
COPY --from=builder /usr/lib64/libz* /usr/lib64
# Copy required libraries
COPY --from=builder \
/usr/lib64/libcapstone* /usr/lib64/libdb* /usr/lib64/liblmdb* \
/usr/lib64/libenchant* /usr/lib64/libffi* /usr/lib64/libgmp* \
/usr/lib64/libicuio* /usr/lib64/libldap* /usr/lib64/libtokyocabinet* \
/usr/lib64/libgmodule* /usr/lib64/libicui18n* /usr/lib64/liblber* \
/usr/lib64/libqdbm* /usr/lib64/libglib* /usr/lib64/libicuuc* \
/usr/lib64/libsasl2* /usr/lib64/libodbc* /usr/lib64/liblzo2* \
/usr/lib64/libpcre* /usr/lib64/libicudata* /usr/lib64/libevent* \
/usr/lib64/libltdl* /usr/lib64/libstdc* /usr/lib64/libpq* \
/usr/lib64/libnetsnmp* /usr/lib64/libsodium* /usr/lib64/libsqlite* \
/usr/lib64/libtidy* /usr/lib64/libsybdb* /usr/lib64/libfbclient* \
/usr/lib64/libhogweed* /usr/lib64/libtommath* /usr/lib64/libbrotlienc* \
/usr/lib64/libgeos* /usr/lib64/liblz4* /usr/lib64/libmaxminddb* \
/usr/lib64/libgnutls* /usr/lib64/libbrotlidec* /usr/lib64/libhiredis* \
/usr/lib64/libnettle* /usr/lib64/libbrotlicommon* /usr/lib64/libp11* \
/usr/lib64/libidn* /usr/lib64/libunistring* /usr/lib64/libtasn* \
/usr/lib64
# Copy PHP Configuration
COPY --from=builder /etc/php.ini /etc/php.ini
COPY --from=builder /etc/php.d /etc/php.d
# Copy PHP Libs
COPY --from=builder /usr/lib64/php/modules /usr/lib64/php/modules
COPY --from=builder /var/lib/php /var/lib/php
COPY --from=builder /usr/share/snmp/mibs /usr/share/snmp/mibs
# Copy Binaries
COPY --from=builder /usr/bin/php /usr/bin/php
COPY --from=builder /usr/bin/php-cgi /usr/bin/php-cgi
COPY --from=builder /usr/bin/phpize /usr/bin/phpize
COPY --from=builder /usr/local/bin/composer /usr/local/bin/composer
USER composer
WORKDIR /build
CMD ["/usr/local/bin/composer"]