Go to file
Neil Hanlon e313f33206
Some checks failed
build and push bootc image / build (push) Failing after 3h13m45s
add workflow_dispatch
Signed-off-by: Neil Hanlon <neil@noreply@resf.org>
2024-09-30 21:36:20 +00:00
.devcontainer chore: org change to monolithify 2024-08-22 20:30:01 +01:00
.gitea/workflows add workflow_dispatch 2024-09-30 21:36:20 +00:00
scripts fix: and + space 2024-08-28 16:30:05 +01:00
.gitignore feat: build-push base-image-build 2024-08-11 09:09:04 +00:00
LICENSE chore: adding LICENSE 2024-08-11 09:09:44 +00:00
README.md chore: clarifications 2024-08-11 20:47:56 +01:00

Overview of the pipeline (currently not working, use the devcontainer + scripts instead)

  1. A Cloud VM Rocky Linux disk is downloaded, then customized so it can run docker inside
  2. A Rocky Linux bootc repo is cloned onto that and the repo is used to build a Rocky Linux 9.4 bootc Docker image, which is then uploaded to a container registry, the pipeline for that is here due to 1. and 2 sharing files and its easier to debug them if needed like this

!!! IMPORTANT !!! The pipeline assumes that the Gitlab runner host has a shared a directory called /rockyDisks that can be used by all jobs and persists between runs/jobs, otherwise you'd need to make a change in some of the build-builder-vm-disk step's files so that the builder VM disk is generated/the step is triggered

To run a new build of the Cloud VM image change the

To run this inside a VS Code dev container

  1. Make sure the env vars in .devcontainer/devcontainer.env match the ones in .gitlab-ci.yml for all jobs, and the CI_COMMIT_SHA var is present in the dev env file
  2. Setting up the builder VM disk:

To download and setup a Rocky Linux VM Disk that is to be used for building a bootc container image run:

./scripts/setupBuilder/main.sh
  1. To build a bootc container image and push it, fill out the CONTAINER_REGISTRY vars below, then run:
export CONTAINER_REGISTRY_RW_USER=someuser
export CONTAINER_REGISTRY_RW_PASS=some_api_key
./scripts/buildPushBootcContainerImage/main.sh

If any debugging is needed you can connect to the latest builder disk run the following, note all changes will be saved:

./scripts/debug/main.sh

To connect to a specific builder disk run

./scripts/debug/main.sh /base-image-build/local.qcow2