updates
This commit is contained in:
@@ -1,44 +1,86 @@
|
|||||||
name: docker base image
|
# .gitea/workflows/docker-multi-build.yml
|
||||||
run-name: ${{ gitea.actor }} is building the docker base image.
|
|
||||||
on: [push]
|
name: Build and Push Multi-Arch Docker Images
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
paths:
|
||||||
|
- 'buster/Dockerfile'
|
||||||
|
- 'bullseye/Dockerfile'
|
||||||
|
- 'bookworm/Dockerfile'
|
||||||
|
- 'docker-build/Dockerfile'
|
||||||
|
- 'buster/**'
|
||||||
|
- 'bullseye/**'
|
||||||
|
- 'bookworm/**'
|
||||||
|
- 'docker-build/**'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
docker:
|
build:
|
||||||
runs-on: cth-test
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
# - name: Install Docker
|
- name: Checkout code
|
||||||
# run: curl -fsSL https://get.docker.com | sh
|
uses: actions/checkout@v3
|
||||||
|
|
||||||
# - name: Check out repository code.
|
- name: Set image tags and names
|
||||||
# uses: actions/checkout@v4
|
id: vars
|
||||||
|
run: |
|
||||||
|
IMAGE_REGISTRY=gitea.fithwum.tech
|
||||||
|
IMAGE_ORG=fithwum
|
||||||
|
IMAGE_REPO=base-image
|
||||||
|
IMAGE_NAME=debian
|
||||||
|
|
||||||
|
# Set the tag based on the folder name (buster, bullseye, bookworm, docker-build)
|
||||||
|
IMAGE_TAG_BUSTER=buster
|
||||||
|
IMAGE_TAG_BULLSEYE=bullseye
|
||||||
|
IMAGE_TAG_BOOKWORM=bookworm
|
||||||
|
IMAGE_TAG_DOCKER_BUILD=docker-build
|
||||||
|
|
||||||
- name: Build Base-image 1.
|
echo "IMAGE_TAG_BUSTER=${IMAGE_TAG_BUSTER}" >> $GITHUB_ENV
|
||||||
uses: docker/build-push-action@v5
|
echo "IMAGE_TAG_BULLSEYE=${IMAGE_TAG_BULLSEYE}" >> $GITHUB_ENV
|
||||||
run: docker build --pull --rm -f "debian/buster/Dockerfile" -t gitea.fithwum.tech/fithwum/base-image:debian-buster "debian/buster"
|
echo "IMAGE_TAG_BOOKWORM=${IMAGE_TAG_BOOKWORM}" >> $GITHUB_ENV
|
||||||
- name: publish Base-image 1.
|
echo "IMAGE_TAG_DOCKER_BUILD=${IMAGE_TAG_DOCKER_BUILD}" >> $GITHUB_ENV
|
||||||
run: docker push -a gitea.fithwum.tech/fithwum/base-image
|
|
||||||
|
# Set image names for each subfolder Dockerfile
|
||||||
|
IMAGE_BUSTER=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_BUSTER}
|
||||||
|
IMAGE_BULLSEYE=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_BULLSEYE}
|
||||||
|
IMAGE_BOOKWORM=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_BOOKWORM}
|
||||||
|
IMAGE_DOCKER_BUILD=${IMAGE_REGISTRY}/${IMAGE_ORG}/${IMAGE_REPO}/${IMAGE_NAME}:${IMAGE_TAG_DOCKER_BUILD}
|
||||||
|
|
||||||
- name: Build Base-image 2.
|
echo "IMAGE_BUSTER=${IMAGE_BUSTER}" >> $GITHUB_ENV
|
||||||
uses: docker/build-push-action@v5
|
echo "IMAGE_BULLSEYE=${IMAGE_BULLSEYE}" >> $GITHUB_ENV
|
||||||
run: docker build --pull --rm -f "debian/bullseye/Dockerfile" -t gitea.fithwum.tech/fithwum/base-image:debian-bullseye "debian/bullseye"
|
echo "IMAGE_BOOKWORM=${IMAGE_BOOKWORM}" >> $GITHUB_ENV
|
||||||
- name: publish Base-image 2.
|
echo "IMAGE_DOCKER_BUILD=${IMAGE_DOCKER_BUILD}" >> $GITHUB_ENV
|
||||||
run: docker push -a gitea.fithwum.tech/fithwum/base-image
|
|
||||||
|
|
||||||
- name: Build Base-image 3.
|
- name: Set up Docker Buildx
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/setup-buildx-action@v3
|
||||||
run: docker build --pull --rm -f "debian/bookworm/Dockerfile" -t gitea.fithwum.tech/fithwum/base-image:debian-bookworm "debian/bookworm"
|
|
||||||
- name: publish Base-image 3.
|
|
||||||
run: docker push -a gitea.fithwum.tech/fithwum/base-image
|
|
||||||
|
|
||||||
# - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event."
|
- name: Log in to Gitea Registry
|
||||||
# - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!"
|
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
||||||
# - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
|
||||||
|
|
||||||
|
# Build and Push Docker Images for buster, bullseye, bookworm, docker-build
|
||||||
|
- name: Build and Push buster Docker Image
|
||||||
|
run: |
|
||||||
|
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||||
|
--push -t ${IMAGE_BUSTER} \
|
||||||
|
./buster
|
||||||
|
|
||||||
# - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner."
|
- name: Build and Push bullseye Docker Image
|
||||||
|
run: |
|
||||||
|
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||||
|
--push -t ${IMAGE_BULLSEYE} \
|
||||||
|
./bullseye
|
||||||
|
|
||||||
# - name: List files in the repository
|
- name: Build and Push bookworm Docker Image
|
||||||
# run: |
|
run: |
|
||||||
# ls ${{ gitea.workspace }}
|
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||||
|
--push -t ${IMAGE_BOOKWORM} \
|
||||||
|
./bookworm
|
||||||
|
|
||||||
- run: echo "This job's status is ${{ job.status }}."
|
- name: Build and Push docker-build Docker Image
|
||||||
|
run: |
|
||||||
|
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||||
|
--push -t ${IMAGE_DOCKER_BUILD} \
|
||||||
|
./docker-build
|
||||||
|
|||||||
59
build-script/debian-docker-build_pt1.sh
Normal file
59
build-script/debian-docker-build_pt1.sh
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) 2018 fithwum
|
||||||
|
# All rights reserved
|
||||||
|
|
||||||
|
RELEASE=stable
|
||||||
|
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Downloading other parts of the script if needed."
|
||||||
|
if [ -e /debian-bookworm_pt2.sh ]
|
||||||
|
then
|
||||||
|
echo "INFO ! debian-bookworm_pt2.sh found ... will not download."
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo "WARNING ! debian-bookworm_pt2.sh not found ... will download new copy."
|
||||||
|
wget --no-cache https://gitea.fithwum.tech/fithwum/base-image/raw/branch/main/build-script/debian-bookworm_pt2.sh -O /debian-bookworm_pt2.sh
|
||||||
|
chmod +x debian-bookworm_pt2.sh
|
||||||
|
fi
|
||||||
|
if [ -e /debian-bookworm_pt3.sh ]
|
||||||
|
then
|
||||||
|
echo "INFO ! debian-bookworm_pt3.sh found ... will not download."
|
||||||
|
else
|
||||||
|
echo " "
|
||||||
|
echo "WARNING ! debian-bookworm_pt3.sh not found ... will download new copy."
|
||||||
|
wget --no-cache https://gitea.fithwum.tech/fithwum/base-image/raw/branch/main/build-script/debian-bookworm_pt3.sh -O /debian-bookworm_pt3.sh
|
||||||
|
chmod +x debian-bookworm_pt3.sh
|
||||||
|
fi
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Getting system updates."
|
||||||
|
apt-get -y update
|
||||||
|
apt-get -y upgrade
|
||||||
|
apt-get -y dist-upgrade
|
||||||
|
apt autoremove -y
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Installing debootstrap,ftp-upload,bash,dirmngr,curl."
|
||||||
|
sleep 1
|
||||||
|
apt-get install -y debootstrap ftp-upload bash dirmngr curl
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Downloading debian & selected packages."
|
||||||
|
debootstrap --force-check-gpg --variant=minbase --components=main,contrib,non-free --include=dirmngr,apt-transport-https,bash,software-properties-common,ca-certificates,wget,curl,nano --arch=amd64 bookworm /debian-bookworm http://deb.debian.org/debian/
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Filesystem size uncompressed."
|
||||||
|
sleep 1
|
||||||
|
du --human-readable --summarize debian-bookworm
|
||||||
|
sleep 5
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Mounting folders for root."
|
||||||
|
mount --bind /dev debian-bookworm/dev
|
||||||
|
mount --bind /dev/pts debian-bookworm/dev/pts
|
||||||
|
mount --bind /proc debian-bookworm/proc
|
||||||
|
mount --bind /sys debian-bookworm/sys
|
||||||
|
sleep 1
|
||||||
|
cp -v debian-bookworm_pt2.sh /debian-bookworm
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Changeing to new root."
|
||||||
|
sleep 1
|
||||||
|
chroot debian-bookworm
|
||||||
|
exit
|
||||||
20
build-script/debian-docker-build_pt2.sh
Normal file
20
build-script/debian-docker-build_pt2.sh
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) 2018 fithwum
|
||||||
|
# All rights reserved
|
||||||
|
|
||||||
|
echo " "
|
||||||
|
echo "APT::Get::Assume-Yes \"true\";" | tee /etc/apt/apt.conf.d/10-assume_yes
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Removeing unnecessary packages."
|
||||||
|
apt-get remove --allow-remove-essential pinentry-curses whiptail kmod iptables iproute2 dmidecode
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Cleanup."
|
||||||
|
apt-get clean
|
||||||
|
spt --fix-broken install
|
||||||
|
find /var/lib/apt/lists/ -maxdepth 2 -type f -delete
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Type "exit" and reboot for final steps."
|
||||||
|
exit
|
||||||
33
build-script/debian-docker-build_pt3.sh
Normal file
33
build-script/debian-docker-build_pt3.sh
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Copyright (c) 2018 fithwum
|
||||||
|
# All rights reserved
|
||||||
|
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Cleaning up pt2 of script from base image."
|
||||||
|
rm -frv /debian-bookworm/debian-bookworm_pt2.sh
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Base image size after cleanup."
|
||||||
|
du --human-readable --summarize debian-bookworm
|
||||||
|
sleep 5
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Creating base image archive."
|
||||||
|
echo "INFO ! This may take some time."
|
||||||
|
tar -cjf debian-bookworm.tar.bz2 --directory debian-bookworm .
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Base image archive."
|
||||||
|
du --human-readable --summarize debian-bookworm.tar.bz2
|
||||||
|
sleep 5
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Uploading image to ftp server."
|
||||||
|
ftp-upload -v -h {IP}:{PORT} -u {USER} --password {PASSWORD} -d /mnt/user/FTP debian-bookworm.tar.bz2
|
||||||
|
sleep 1
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Removing temp files."
|
||||||
|
rm -fr debian-bookworm
|
||||||
|
rm -frv debian-bookworm.tar.bz2
|
||||||
|
echo " "
|
||||||
|
echo "INFO ! Done."
|
||||||
|
echo " "
|
||||||
|
exit
|
||||||
@@ -5,6 +5,5 @@
|
|||||||
docker build --pull --rm -f "debian/buster/Dockerfile" -t fithwum/base-image:debian-buster "debian/buster"
|
docker build --pull --rm -f "debian/buster/Dockerfile" -t fithwum/base-image:debian-buster "debian/buster"
|
||||||
docker build --pull --rm -f "debian/bullseye/Dockerfile" -t fithwum/base-image:debian-bullseye "debian/bullseye"
|
docker build --pull --rm -f "debian/bullseye/Dockerfile" -t fithwum/base-image:debian-bullseye "debian/bullseye"
|
||||||
docker build --pull --rm -f "debian/bookworm/Dockerfile" -t fithwum/base-image:debian-bookworm "debian/bookworm"
|
docker build --pull --rm -f "debian/bookworm/Dockerfile" -t fithwum/base-image:debian-bookworm "debian/bookworm"
|
||||||
docker push fithwum/base-image:debian-buster
|
docker build --pull --rm -f "debian/bookworm/Dockerfile" -t fithwum/base-image:docker-build "debian/docker-build"
|
||||||
docker push fithwum/base-image:debian-bullseye
|
docker push -a fithwum/base-image
|
||||||
docker push fithwum/base-image:debian-bookworm
|
|
||||||
|
|||||||
18
debian/docker-build/.pipeline.yml
vendored
Normal file
18
debian/docker-build/.pipeline.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
variables:
|
||||||
|
IMAGE_TAG: "debian-docker-build"
|
||||||
|
DOCKER_HOST: ""
|
||||||
|
DOCKER_DRIVER: overlay2
|
||||||
|
|
||||||
|
build_image:
|
||||||
|
image: docker:24.0.7
|
||||||
|
services:
|
||||||
|
- docker:24.0.7-dind-rootless
|
||||||
|
variables:
|
||||||
|
DOCKER_TLS_CERTDIR: ""
|
||||||
|
GIT_SSL_NO_VERIFY: true
|
||||||
|
before_script:
|
||||||
|
- docker login $CI_REGISTRY -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD
|
||||||
|
script:
|
||||||
|
- cd "$CI_PROJECT_DIR/debian/docker-build/"
|
||||||
|
- docker build -t $CI_REGISTRY/fithwum/base-image/$IMAGE_NAME:$IMAGE_TAG .
|
||||||
|
- docker push -a $CI_REGISTRY/fithwum/base-image/$IMAGE_NAME
|
||||||
4
debian/docker-build/Dockerfile
vendored
Normal file
4
debian/docker-build/Dockerfile
vendored
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
FROM scratch
|
||||||
|
LABEL maintainer "fithwum"
|
||||||
|
ADD /debian-bookworm.tar.bz2 /
|
||||||
|
CMD ["/bin/bash"]
|
||||||
BIN
debian/docker-build/debian-bookworm.tar.bz2
vendored
Normal file
BIN
debian/docker-build/debian-bookworm.tar.bz2
vendored
Normal file
Binary file not shown.
Reference in New Issue
Block a user