Added separate build for dockerhub and cifo registry
This commit is contained in:
parent
47c6b1f082
commit
26ffc37076
|
@ -0,0 +1,56 @@
|
|||
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
|
|
@ -0,0 +1,7 @@
|
|||
stages:
|
||||
- triggers
|
||||
|
||||
build_cifo:
|
||||
stage: triggers
|
||||
trigger:
|
||||
include: .gitlab-ci.cifo.yml
|
|
@ -1,9 +0,0 @@
|
|||
FROM aprimediet/alpine-base:latest
|
||||
LABEL maintainer="<Muhamad Aditya Prima> aditya.prima@qti.co.id"
|
||||
|
||||
# INSTALL REQUIRED DEPENDENCIES
|
||||
RUN apk add --update --no-cache \
|
||||
nodejs nodejs-dev npm gzip
|
||||
|
||||
# INSTALL YARN FOR JS PACKAGE MANAGER
|
||||
RUN npm i -g yarn
|
|
@ -0,0 +1,19 @@
|
|||
# 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/*
|
|
@ -0,0 +1,33 @@
|
|||
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