Updated Dockerfile and added gitea workflows
This commit is contained in:
parent
451da30315
commit
eea066385b
|
@ -0,0 +1,63 @@
|
||||||
|
name: Build and Push Alpine PHP 8.3 Image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build and push 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 Winter Access Git Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.winteraccess.id
|
||||||
|
username: aditya.prima
|
||||||
|
password: ${{ secrets.PATOKEN }}
|
||||||
|
- name: Build and push 14.21.3
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.alpine
|
||||||
|
build-args: |
|
||||||
|
ALPINE_VERSION=3.14
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:14-alpine
|
||||||
|
- name: Build and push 16.20.2
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.alpine
|
||||||
|
build-args: |
|
||||||
|
ALPINE_VERSION=3.16
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:16-alpine
|
||||||
|
- name: Build and push 18.19.1
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.alpine
|
||||||
|
build-args: |
|
||||||
|
ALPINE_VERSION=3.18
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:18-alpine
|
||||||
|
- name: Build and push 20.11.1
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.alpine
|
||||||
|
build-args: |
|
||||||
|
ALPINE_VERSION=3.19
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:20-alpine
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:latest-alpine
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:alpine
|
|
@ -0,0 +1,67 @@
|
||||||
|
name: Build and Push Ubuntu PHP 8.3 Image
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
name: Build and push 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 Winter Access Git Registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: git.winteraccess.id
|
||||||
|
username: aditya.prima
|
||||||
|
password: ${{ secrets.PATOKEN }}
|
||||||
|
- name: Build and push 14.21.3
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.ubuntu
|
||||||
|
build-args: |
|
||||||
|
NODE_VERSION=14.21.3
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:14-ubuntu
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:14
|
||||||
|
- name: Build and push 16.20.2
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.ubuntu
|
||||||
|
build-args: |
|
||||||
|
NODE_VERSION=16.20.2
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:16-ubuntu
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:16
|
||||||
|
- name: Build and push 18.19.1
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.ubuntu
|
||||||
|
build-args: |
|
||||||
|
NODE_VERSION=18.19.1
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:18-ubuntu
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:18
|
||||||
|
- name: Build and push 20.11.1
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
file: Dockerfile.ubuntu
|
||||||
|
build-args: |
|
||||||
|
NODE_VERSION=20.11.1
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:20-ubuntu
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:20
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:latest-ubuntu
|
||||||
|
git.winteraccess.id/${{ gitea.repository }}:latest
|
|
@ -1,56 +0,0 @@
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
|
|
||||||
.build:
|
|
||||||
image: docker:20.10.16
|
|
||||||
services:
|
|
||||||
- name: docker:20.10.16-dind
|
|
||||||
alias: docker
|
|
||||||
variables:
|
|
||||||
DOCKER_HOST: tcp://docker:2376
|
|
||||||
DOCKER_TLS_CERTDIR: "/certs"
|
|
||||||
DOCKER_TLS_VERIFY: 1
|
|
||||||
DOCKER_CERT_PATH: "/certs/client"
|
|
||||||
DOCKER_DRIVER: "overlay"
|
|
||||||
before_script:
|
|
||||||
- "docker login ${CI_REGISTRY} -u gitlab-ci-token -p ${CI_JOB_TOKEN}"
|
|
||||||
after_script:
|
|
||||||
- "docker logout ${CI_REGISTRY}"
|
|
||||||
|
|
||||||
build_cifo_20:
|
|
||||||
stage: build
|
|
||||||
extends: .build
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="REGISTRY_URL=registry.cifo.co.id/docker" --build-arg="NODE_VERSION=20.10.0" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:20-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:20 .
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.19" --build-arg="REGISTRY_URL=registry.cifo.co.id/docker" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:20-alpine .
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:latest
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:20
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:20-ubuntu
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:20-alpine
|
|
||||||
|
|
||||||
|
|
||||||
build_cifo_18:
|
|
||||||
stage: build
|
|
||||||
extends: .build
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="REGISTRY_URL=registry.cifo.co.id/docker" --build-arg="NODE_VERSION=18.19.0" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:18-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:18 .
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.18" --build-arg="REGISTRY_URL=registry.cifo.co.id/docker" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:18-alpine .
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:18
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:18-ubuntu
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:18-alpine
|
|
||||||
|
|
||||||
build_cifo_16:
|
|
||||||
stage: build
|
|
||||||
extends: .build
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="REGISTRY_URL=registry.cifo.co.id/docker" --build-arg="NODE_VERSION=16.20.2" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:16-ubuntu -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:16 .
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.16" --build-arg="REGISTRY_URL=registry.cifo.co.id/docker" -t ${CI_REGISTRY}/${CI_PROJECT_PATH}:16-alpine .
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:16
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:16-ubuntu
|
|
||||||
- docker image push ${CI_REGISTRY}/${CI_PROJECT_PATH}:16-alpine
|
|
|
@ -1,56 +0,0 @@
|
||||||
stages:
|
|
||||||
- build
|
|
||||||
|
|
||||||
.build:
|
|
||||||
image: docker:20.10.16
|
|
||||||
services:
|
|
||||||
- name: docker:20.10.16-dind
|
|
||||||
alias: docker
|
|
||||||
variables:
|
|
||||||
DOCKER_HOST: tcp://docker:2376
|
|
||||||
DOCKER_TLS_CERTDIR: "/certs"
|
|
||||||
DOCKER_TLS_VERIFY: 1
|
|
||||||
DOCKER_CERT_PATH: "/certs/client"
|
|
||||||
DOCKER_DRIVER: "overlay"
|
|
||||||
before_script:
|
|
||||||
- "docker login -u ${HUB_USERNAME} -p ${HUB_TOKEN}"
|
|
||||||
after_script:
|
|
||||||
- "docker logout"
|
|
||||||
|
|
||||||
build_dockerio_20:
|
|
||||||
stage: build
|
|
||||||
extends: .build
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="NODE_VERSION=20.10.0" -t ${HUB_IMAGE_PATH}:latest -t ${HUB_IMAGE_PATH}:20-ubuntu -t ${HUB_IMAGE_PATH}:20 .
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.19" -t ${HUB_IMAGE_PATH}:20-alpine .
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:latest
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:20
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:20-ubuntu
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:20-alpine
|
|
||||||
|
|
||||||
|
|
||||||
build_dockerio_18:
|
|
||||||
stage: build
|
|
||||||
extends: .build
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="NODE_VERSION=18.19.0" -t ${HUB_IMAGE_PATH}:18-ubuntu -t ${HUB_IMAGE_PATH}:18 .
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.18" -t ${HUB_IMAGE_PATH}:18-alpine .
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:18
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:18-ubuntu
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:18-alpine
|
|
||||||
|
|
||||||
build_dockerio_16:
|
|
||||||
stage: build
|
|
||||||
extends: .build
|
|
||||||
only:
|
|
||||||
- master
|
|
||||||
script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_ubuntu --build-arg="UBUNTU_VERSION=jammy" --build-arg="NODE_VERSION=16.20.2" -t ${HUB_IMAGE_PATH}:16-ubuntu -t ${HUB_IMAGE_PATH}:16 .
|
|
||||||
- DOCKER_BUILDKIT=1 docker image build -f Dockerfile_alpine --build-arg="ALPINE_VERSION=3.16" -t ${HUB_IMAGE_PATH}:16-alpine .
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:16
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:16-ubuntu
|
|
||||||
- docker image push ${HUB_IMAGE_PATH}:16-alpine
|
|
|
@ -1,12 +0,0 @@
|
||||||
stages:
|
|
||||||
- triggers
|
|
||||||
|
|
||||||
build_cifo:
|
|
||||||
stage: triggers
|
|
||||||
trigger:
|
|
||||||
include: .gitlab-ci.cifo.yml
|
|
||||||
|
|
||||||
build_dockerio:
|
|
||||||
stage: triggers
|
|
||||||
trigger:
|
|
||||||
include: .gitlab-ci.dockerio.yml
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
# 14.21.3 = 3.14
|
||||||
|
# 16.20.2 = 3.16
|
||||||
|
# 18.19.1 = 3.18
|
||||||
|
# 20.11.1 = 3.19
|
||||||
|
ARG REGISTRY_URL=git.winteraccess.id/docker
|
||||||
|
ARG ALPINE_VERSION=3.19
|
||||||
|
|
||||||
|
FROM ${REGISTRY_URL}/alpine:${ALPINE_VERSION}
|
||||||
|
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
# SET CACHE DIR
|
||||||
|
ENV NODE_DIR /usr/local/share/nodejs
|
||||||
|
ENV NPM_CACHE_DIR ${NODE_DIR}/.npm-cache
|
||||||
|
ENV YARN_CACHE_DIR ${NODE_DIR}/.yarn-cache
|
||||||
|
|
||||||
|
# INSTALL WGET AND REQUIRED BUILD TOOLS
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apk \
|
||||||
|
apk update && apk upgrade && apk add \
|
||||||
|
nodejs nodejs-dev npm
|
||||||
|
|
||||||
|
# SET NPM GLOBAL CACHE
|
||||||
|
RUN npm -g config set cache ${NPM_CACHE_DIR} && \
|
||||||
|
npm config set cache ${NPM_CACHE_DIR}
|
||||||
|
|
||||||
|
# INSTALL YARN
|
||||||
|
RUN --mount=type=cache,target=${NPM_CACHE_DIR} \
|
||||||
|
npm i -g yarn
|
||||||
|
|
||||||
|
# CREATE YARN CACHE DIR
|
||||||
|
RUN mkdir -p ${YARN_CACHE_DIR}
|
||||||
|
|
||||||
|
# SET YARN CACHE DIR
|
||||||
|
RUN yarn config set cache-folder ${YARN_CACHE_DIR}
|
||||||
|
|
||||||
|
# CLEAR CACHE
|
||||||
|
RUN rm -rf /var/cache/apk/* && \
|
||||||
|
npm cache clean --force && \
|
||||||
|
npm -g cache clean --force
|
|
@ -0,0 +1,51 @@
|
||||||
|
ARG REGISTRY_URL=git.winteraccess.id/docker
|
||||||
|
ARG UBUNTU_VERSION=jammy
|
||||||
|
|
||||||
|
FROM ${REGISTRY_URL}/ubuntu:${UBUNTU_VERSION}
|
||||||
|
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
||||||
|
|
||||||
|
ARG NVM_VERSION=0.39.7
|
||||||
|
ARG NODE_VERSION=20.11.1
|
||||||
|
|
||||||
|
WORKDIR /
|
||||||
|
|
||||||
|
# CREATE NVM_DIR
|
||||||
|
ENV NVM_DIR /usr/local/share/nvm
|
||||||
|
ENV NPM_CACHE_DIR ${NVM_DIR}/.npm-cache
|
||||||
|
ENV YARN_CACHE_DIR ${NVM_DIR}/.yarn-cache
|
||||||
|
RUN mkdir -p ${NVM_DIR}
|
||||||
|
|
||||||
|
# UPGRADE PACKAGES FIRST
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apt/archives \
|
||||||
|
apt -y update && apt -y upgrade
|
||||||
|
|
||||||
|
# GET LATEST NVM
|
||||||
|
ADD https://raw.githubusercontent.com/nvm-sh/nvm/v${NVM_VERSION}/install.sh /tmp
|
||||||
|
|
||||||
|
# INSTALL NVM AND DESIGNATED NODE VERSION
|
||||||
|
RUN bash /tmp/install.sh && \
|
||||||
|
. $NVM_DIR/nvm.sh && \
|
||||||
|
nvm install v${NODE_VERSION} && \
|
||||||
|
nvm alias default v${NODE_VERSION} && \
|
||||||
|
nvm use default
|
||||||
|
|
||||||
|
ENV NODE_PATH $NVM_DIR/versions/node/v${NODE_VERSION}/lib/node_modules
|
||||||
|
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
|
||||||
|
|
||||||
|
# SET NPM GLOBAL CACHE
|
||||||
|
RUN npm -g config set cache ${NPM_CACHE_DIR} && \
|
||||||
|
npm config set cache ${NPM_CACHE_DIR}
|
||||||
|
|
||||||
|
# INSTALL YARN
|
||||||
|
RUN --mount=type=cache,target=${NPM_CACHE_DIR} \
|
||||||
|
npm i -g yarn
|
||||||
|
|
||||||
|
# CREATE YARN CACHE DIR
|
||||||
|
RUN mkdir -p ${YARN_CACHE_DIR}
|
||||||
|
|
||||||
|
# SET YARN CACHE DIR
|
||||||
|
RUN yarn config set cache-folder ${YARN_CACHE_DIR}
|
||||||
|
|
||||||
|
# CLEAR APT CACHE
|
||||||
|
RUN apt -y clean && rm -rf /tmp/* && \
|
||||||
|
npm cache clean --force && npm -g cache clean --force
|
|
@ -1,19 +0,0 @@
|
||||||
# 14.21.3 = 3.14
|
|
||||||
# 16.20.2 = 3.16
|
|
||||||
# 18.19.0 = 3.18
|
|
||||||
ARG REGISTRY_URL=aprimediet
|
|
||||||
ARG ALPINE_VERSION=3.18
|
|
||||||
|
|
||||||
FROM ${REGISTRY_URL}/alpine:${ALPINE_VERSION}
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
|
||||||
|
|
||||||
# INSTALL WGET AND REQUIRED BUILD TOOLS
|
|
||||||
RUN --mount=type=cache,target=/var/cache/apk \
|
|
||||||
apk add --update \
|
|
||||||
nodejs nodejs-dev npm
|
|
||||||
|
|
||||||
# INSTALL YARN
|
|
||||||
RUN npm i -g yarn
|
|
||||||
|
|
||||||
# CLEAR CACHE
|
|
||||||
RUN rm -rf /var/cache/apk/*
|
|
|
@ -1,33 +0,0 @@
|
||||||
ARG UBUNTU_VERSION=jammy
|
|
||||||
|
|
||||||
FROM aprimediet/ubuntu:${UBUNTU_VERSION}
|
|
||||||
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
|
|
||||||
|
|
||||||
ARG NVM_VERSION=0.39.5
|
|
||||||
ARG NODE_VERSION=18.19.0
|
|
||||||
|
|
||||||
ENV HOME /root
|
|
||||||
ENV NVM_DIR $HOME/.nvm
|
|
||||||
|
|
||||||
# UPGRADE PACKAGES FIRST
|
|
||||||
RUN --mount=type=cache,target=/var/cache/apt/archives \
|
|
||||||
apt -y update && apt -y upgrade
|
|
||||||
|
|
||||||
# GET LATEST NVM
|
|
||||||
ADD https://raw.githubusercontent.com/nvm-sh/nvm/v${NVM_VERSION}/install.sh /tmp
|
|
||||||
|
|
||||||
# INSTALL NVM AND DESIGNATED NODE VERSION
|
|
||||||
RUN bash /tmp/install.sh && \
|
|
||||||
. $NVM_DIR/nvm.sh && \
|
|
||||||
nvm install v${NODE_VERSION} && \
|
|
||||||
nvm alias default v${NODE_VERSION} && \
|
|
||||||
nvm use default
|
|
||||||
|
|
||||||
ENV NODE_PATH $NVM_DIR/versions/node/v${NODE_VERSION}/lib/node_modules
|
|
||||||
ENV PATH $PATH:$NVM_DIR/versions/node/v${NODE_VERSION}/bin
|
|
||||||
|
|
||||||
# INSTALL YARN
|
|
||||||
RUN npm i -g yarn
|
|
||||||
|
|
||||||
# CLEAR APT CACHE
|
|
||||||
RUN apt -y clean && rm -f /tmp/*
|
|
Loading…
Reference in New Issue