mirror of
https://gitlab.com/monolithify/base-image-build.git
synced 2024-10-23 00:15:09 +00:00
35 lines
1.7 KiB
Markdown
35 lines
1.7 KiB
Markdown
## Overview of the pipeline
|
|
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
|
|
```
|
|
|
|
3. 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
|
|
``` |