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: stages:
- build - build
- deploy - deploy
variables: variables:
GIT_DEPTH: "1" GIT_DEPTH: "1"
before_script: 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 stage: build
script: script:
- docker build --pull -t $TARGET_IMAGE . - docker build --pull -t "$TARGET_IMAGE" --build-arg DEBIAN_SUITE="$DEBIAN_SUITE" .
- docker push $TARGET_IMAGE - 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: build-bookworm-x86:
extends: .build-image extends: .build-image-template
tags: tags: [docker]
- docker
variables: 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: build-bookworm-arm:
extends: .build-image extends: .build-image-template
tags: tags: [docker-arm]
- docker-arm
variables: 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 stage: deploy
tags: tags: [docker]
- docker
script: script:
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86 - docker pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-${BASE}-x86"
- docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm - docker pull "$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-${BASE}-arm"
- docker manifest create $TARGET_IMAGE --amend $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-x86 --amend - |
$CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-arm for TAG in $TAGS; do
- docker manifest push $TARGET_IMAGE 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: 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: only:
- master - master
deploy_branch: deploy-master-tags-bookworm:
extends: .deploy extends: .deploy-manifest-template
variables: 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 && \ 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 && \ 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 && \ rm -rf /usr/lib/python3.11/EXTERNALLY-MANAGED && \
pip install -U awscli 'ansible<2.11.0' 'jinja2==3.0.0' && \ pip install -U awscli 'ansible<2.11.0' 'jinja2==3.0.0' && \
npm i -g pnpm && \ 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/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 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