updates
This commit is contained in:
@@ -1,44 +1,86 @@
|
||||
name: docker base image
|
||||
run-name: ${{ gitea.actor }} is building the docker base image.
|
||||
on: [push]
|
||||
# .gitea/workflows/docker-multi-build.yml
|
||||
|
||||
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:
|
||||
docker:
|
||||
runs-on: cth-test
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
# - name: Install Docker
|
||||
# run: curl -fsSL https://get.docker.com | sh
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
# - name: Check out repository code.
|
||||
# uses: actions/checkout@v4
|
||||
- name: Set image tags and names
|
||||
id: vars
|
||||
run: |
|
||||
IMAGE_REGISTRY=gitea.fithwum.tech
|
||||
IMAGE_ORG=fithwum
|
||||
IMAGE_REPO=base-image
|
||||
IMAGE_NAME=debian
|
||||
|
||||
- name: Build Base-image 1.
|
||||
uses: docker/build-push-action@v5
|
||||
run: docker build --pull --rm -f "debian/buster/Dockerfile" -t gitea.fithwum.tech/fithwum/base-image:debian-buster "debian/buster"
|
||||
- name: publish Base-image 1.
|
||||
run: docker push -a gitea.fithwum.tech/fithwum/base-image
|
||||
# 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 2.
|
||||
uses: docker/build-push-action@v5
|
||||
run: docker build --pull --rm -f "debian/bullseye/Dockerfile" -t gitea.fithwum.tech/fithwum/base-image:debian-bullseye "debian/bullseye"
|
||||
- name: publish Base-image 2.
|
||||
run: docker push -a gitea.fithwum.tech/fithwum/base-image
|
||||
echo "IMAGE_TAG_BUSTER=${IMAGE_TAG_BUSTER}" >> $GITHUB_ENV
|
||||
echo "IMAGE_TAG_BULLSEYE=${IMAGE_TAG_BULLSEYE}" >> $GITHUB_ENV
|
||||
echo "IMAGE_TAG_BOOKWORM=${IMAGE_TAG_BOOKWORM}" >> $GITHUB_ENV
|
||||
echo "IMAGE_TAG_DOCKER_BUILD=${IMAGE_TAG_DOCKER_BUILD}" >> $GITHUB_ENV
|
||||
|
||||
- name: Build Base-image 3.
|
||||
uses: docker/build-push-action@v5
|
||||
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
|
||||
# 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}
|
||||
|
||||
# - run: echo "The job was automatically triggered by a ${{ gitea.event_name }} event."
|
||||
# - run: echo "This job is now running on a ${{ runner.os }} server hosted by Gitea!"
|
||||
# - run: echo "The name of your branch is ${{ gitea.ref }} and your repository is ${{ gitea.repository }}."
|
||||
echo "IMAGE_BUSTER=${IMAGE_BUSTER}" >> $GITHUB_ENV
|
||||
echo "IMAGE_BULLSEYE=${IMAGE_BULLSEYE}" >> $GITHUB_ENV
|
||||
echo "IMAGE_BOOKWORM=${IMAGE_BOOKWORM}" >> $GITHUB_ENV
|
||||
echo "IMAGE_DOCKER_BUILD=${IMAGE_DOCKER_BUILD}" >> $GITHUB_ENV
|
||||
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
|
||||
# - run: echo "The ${{ gitea.repository }} repository has been cloned to the runner."
|
||||
- name: Log in to Gitea Registry
|
||||
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login gitea.fithwum.tech -u "${{ secrets.DOCKER_USERNAME }}" --password-stdin
|
||||
|
||||
# - name: List files in the repository
|
||||
# run: |
|
||||
# ls ${{ gitea.workspace }}
|
||||
# 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 "This job's status is ${{ job.status }}."
|
||||
- name: Build and Push bullseye Docker Image
|
||||
run: |
|
||||
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||
--push -t ${IMAGE_BULLSEYE} \
|
||||
./bullseye
|
||||
|
||||
- name: Build and Push bookworm Docker Image
|
||||
run: |
|
||||
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||
--push -t ${IMAGE_BOOKWORM} \
|
||||
./bookworm
|
||||
|
||||
- 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/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 push fithwum/base-image:debian-buster
|
||||
docker push fithwum/base-image:debian-bullseye
|
||||
docker push fithwum/base-image:debian-bookworm
|
||||
docker build --pull --rm -f "debian/bookworm/Dockerfile" -t fithwum/base-image:docker-build "debian/docker-build"
|
||||
docker push -a fithwum/base-image
|
||||
|
||||
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