Building OCP images requires being on the Red Hat network so you can access our internal image and rpm repositories. Additionally, because the images are generally built using automation thats already setup correctly for these builds, we need to use some additional tools to make building images based on RHEL succeed.
Pre-reqs:
- All the regular developer tools
- Docker
- imagebuilder
- On the Red Hat network (VPNed or otherwise)
Run the following script to setup the base images we need locally:
hack/ocp-util/ocp-image-pull-and-rename.sh
Passing OCP_BUILD=true
to our make invocation will tell it to build our images using the .rhel
Dockerfiles and updates the image names to match the registry.access.redhat.com names.
Passing USE_IMAGEBUILDER=true
tells it to use imagebuilder
instead of docker
as a Docker client, allowing us to override the RPM repos and subscription-manager configuration inside the image build to allow installing packages without needing to build on a RHEL machine by using yum composes that the regular OCP release pipeline does.
Passing RELEASE_TAG=v4.0
overrides using the version in the VERSION
file so that we can tag our images using the OCP release version.
make docker-build-all OCP_BUILD=true USE_IMAGEBUILDER=true RELEASE_TAG=v4.0