Skip to main content

radius-build-images

Build Radius container images from source for local development and testing. Push to any container registry that your Kubernetes cluster can pull from.

Informações da origem

Repositório
radius-project/radius
Última atividade na origem
16 de outubro de 2026 às 18:44
Idioma detectado do SKILL.md
inglês
Estrelas
1.670
Forks
139

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
radius-build-images
description
Build Radius container images from source for local development and testing. Push to any container registry that your Kubernetes cluster can pull from.
argument-hint
Optional: target registry (e.g. ghcr.io/my-username, myacr.azurecr.io/radius) — or leave blank to be prompted
# Radius: Build and Push Container Images Build Radius service images from source and push them to a container registry that your Kubernetes cluster can reach. This follows the workflow documented in `docs/contributing/contributing-code/contributing-code-building/README.md` and `docs/contributing/contributing-code/contributing-code-control-plane/generating-and-installing-custom-build.md`. ## Images The following images are built from this repository: | Image | Source | |-------------------|---------------------------------| | `ucpd` | `deploy/images/ucpd` | | `applications-rp` | `deploy/images/applications-rp` | | `dynamic-rp` | `deploy/images/dynamic-rp` | | `controller` | `deploy/images/controller` | | `bicep` | `deploy/images/bicep` | | `pre-upgrade` | `deploy/images/pre-upgrade` | | `testrp` | `test/testrp` | | `magpiego` | `test/magpiego` | > **Not built here:** The `deployment-engine` and `dashboard` images are **not** built from this repository. They are published separately to `ghcr.io/radius-project/`. When installing with a custom registry you need to pin these to their public location — see the `radius-install-custom` skill. ## Procedure ### Step 1: Verify Prerequisites Check that the required tools are available: 1. **Docker**: Run `docker info` — confirm the Docker daemon is running. 2. **Make**: Run `make --version` — confirm GNU Make is installed. 3. **Go**: Run `go version` — the required version is in `go.mod`. If any prerequisite is missing, stop and report which tool needs to be installed. ### Step 2: Set the Registry Ask the user for their container registry if `DOCKER_REGISTRY` is not already set. The registry must be one the user can push to and their Kubernetes cluster can pull from. ```sh export DOCKER_REGISTRY=ghcr.io/<your-registry> export DOCKER_TAG_VERSION=latest ``` > **Note:** The user must already be logged in to the registry (`docker login`, `az acr login`, etc.). If you get authentication errors, ask the user to log in first. > > **Default:** If `DOCKER_REGISTRY` is not set, the Makefile defaults to your OS username (from `build/docker.mk`). Always set it explicitly. ### Step 3: Build and Push the Images Build all images and push them to the registry in one command: ```sh DOCKER_REGISTRY=${DOCKER_REGISTRY} DOCKER_TAG_VERSION=${DOCKER_TAG_VERSION} make docker-build docker-push ``` This compiles all Go binaries, builds each Docker image, and pushes them to the registry. The `copy-manifests` step runs automatically. To build and push a **single image** (useful for fast iteration): ```sh make docker-build-<image-name> && make docker-push-<image-name> # e.g. make docker-build-applications-rp && make docker-push-applications-rp ``` ### Step 4: Verify Confirm the images were pushed: ```sh docker images --filter "reference=${DOCKER_REGISTRY}/*:${DOCKER_TAG_VERSION}" ``` Then proceed to the `radius-install-custom` skill to install Radius on your cluster. ## Private Registries For private registries that require authentication to pull, you will need to create a Kubernetes image pull secret when installing. See the `radius-install-custom` skill for details. ## Multi-Architecture Builds For native `linux/arm64` images (e.g. on Apple Silicon with an arm64 Kubernetes cluster), first set up buildx (one-time): ```sh make configure-buildx ``` Select the builder and build the canonical core snapshot: ```sh docker buildx use radius-builder export GORELEASER_IMAGE_REGISTRY="${DOCKER_REGISTRY}" make install-goreleaser install-syft install-jq install-yq install-oras make goreleaser-check goreleaser-snapshot make goreleaser-push-edge make docker-publish-bicep DOCKER_TAG_VERSION=edge ``` This publishes the five core images and Bicep as `edge` in the selected registry. Install with that tag. Snapshot mode itself only loads platform-specific local images; the edge target assembles their registry manifests without recompiling. Functional workflows own `testrp` and `magpiego` publication with test-specific tags; retain the single-image Make targets for local testing. ## Quick Reference | Goal | Command | |-------------------------------|--------------------------------------------------------------------------------------| | Set registry | `export DOCKER_REGISTRY=ghcr.io/<your-registry> && export DOCKER_TAG_VERSION=latest` | | Build + push all images | `make docker-build docker-push` | | Build all images | `make docker-build` | | Push all images | `make docker-push` | | Single image build + push | `make docker-build-<name> && make docker-push-<name>` | | Core snapshot build | `make goreleaser-snapshot` | | Publish core snapshot as edge | `make goreleaser-push-edge` | | Publish multi-arch Bicep | `make docker-publish-bicep DOCKER_TAG_VERSION=edge` | | Setup buildx (one-time) | `make configure-buildx` | ## Key Environment Variables | Variable | Default | Description | |-----------------------------|--------------------------------------|-------------------------------------------------------------------------| | `DOCKER_REGISTRY` | OS username (from `build/docker.mk`) | Target registry for built images. Set explicitly to your registry. | | `DOCKER_TAG_VERSION` | `latest` | Image tag | | `GORELEASER_IMAGE_REGISTRY` | `ghcr.io/radius-project` | Snapshot image registry; set it to the same value as `DOCKER_REGISTRY`. |
Ver no GitHub