Commit 611b686d authored by nanahira's avatar nanahira

Update Dockerfile, .gitlab-ci.yml files

parent 214557c8
Pipeline #37546 passed with stages
in 55 minutes and 50 seconds
stages:
- build
- deploy
variables:
GIT_DEPTH: "1"
before_script:
- docker login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
#########################
# Shared build template
#########################
.build-image:
.build-image-template:
stage: build
script:
- docker build --pull -t $TARGET_IMAGE .
- docker push $TARGET_IMAGE
- docker build --pull -t "$TARGET_IMAGE" --build-arg DEBIAN_SUITE="$DEBIAN_SUITE" .
- docker push "$TARGET_IMAGE"
#########################
# Build jobs (only bullseye + bookworm)
#########################
build-bullseye-x86:
extends: .build-image-template
tags: [docker]
variables:
DEBIAN_SUITE: bullseye
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-bullseye-x86
build-bullseye-arm:
extends: .build-image-template
tags: [docker-arm]
variables:
DEBIAN_SUITE: bullseye
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-bullseye-arm
build-x86:
extends: .build-image
tags:
- docker
build-bookworm-x86:
extends: .build-image-template
tags: [docker]
variables:
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86
DEBIAN_SUITE: bookworm
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-bookworm-x86
build-arm:
extends: .build-image
tags:
- docker-arm
build-bookworm-arm:
extends: .build-image-template
tags: [docker-arm]
variables:
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm
DEBIAN_SUITE: bookworm
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-bookworm-arm
#########################
# Deploy template
#########################
.deploy:
.deploy-manifest-template:
stage: deploy
tags:
- docker
tags: [docker]
script:
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm
- docker manifest create $TARGET_IMAGE --amend $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86 --amend
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm
- docker manifest push $TARGET_IMAGE
- docker pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-${BASE}-x86"
- docker pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-${BASE}-arm"
- |
for TAG in $TAGS; do
echo "Pushing manifest for $TAG"
docker manifest create "$CI_REGISTRY_IMAGE:$TAG" \
--amend "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-${BASE}-x86" \
--amend "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-${BASE}-arm"
docker manifest push "$CI_REGISTRY_IMAGE:$TAG"
done
deploy_latest:
extends: .deploy
#########################
# Deploy jobs
#########################
# Normal branches
deploy-bullseye:
extends: .deploy-manifest-template
variables:
BASE: bullseye
TAGS: "$CI_COMMIT_REF_SLUG-bullseye $CI_COMMIT_REF_SLUG-debian11"
deploy-bookworm:
extends: .deploy-manifest-template
variables:
TARGET_IMAGE: $CI_REGISTRY_IMAGE:latest
BASE: bookworm
TAGS: "$CI_COMMIT_REF_SLUG-bookworm $CI_COMMIT_REF_SLUG-debian12"
# Master-only canonical tags
deploy-master-tags-bullseye:
extends: .deploy-manifest-template
variables:
BASE: bullseye
TAGS: "bullseye debian11"
only:
- master
deploy_branch:
extends: .deploy
deploy-master-tags-bookworm:
extends: .deploy-manifest-template
variables:
TARGET_IMAGE: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG
BASE: bookworm
TAGS: "bookworm debian12 latest"
only:
- master
FROM node:lts-bookworm
ARG DEBIAN_SUITE=bookworm
FROM node:lts-${DEBIAN_SUITE}
ARG DEBIAN_SUITE
RUN apt update && \
apt -y install curl wget git git-lfs vim sudo iftop iotop build-essential p7zip-full xclip astyle tcpdump rsync htop locales mtr dnsutils net-tools traceroute tar unzip iperf iperf3 nmap mosh subversion nfs-common fish haveged python3-setuptools python3-dev python3-pip zstd mono-complete default-jdk openssh-client python-is-python3 jq && \
rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED && \
pip install -U awscli 'ansible<2.11.0' 'jinja2==3.0.0' && \
npm i -g pnpm && \
rm -rf /var/tmp/* /tmp/* /var/lib/apt/lists/* /var/log/* /var/cache/* /usr/local/lib/python3.11/dist-packages/ansible/module_utils/six
rm -rf /var/tmp/* /tmp/* /var/lib/apt/lists/* /var/log/* /var/cache/* /usr/local/lib/python3.*/dist-packages/ansible/module_utils/six
COPY ./ansible-patch/six.py /usr/local/lib/python3.11/dist-packages/ansible/module_utils/six.py
COPY ./ansible-patch/urls.py /usr/local/lib/python3.11/dist-packages/ansible/module_utils/urls.py
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment