YAML for Build multi-arch image

View as Markdown

Build multi-arch Docker image using Dockerfile.

YAML parameters for Build multi-arch image

PARAMETERS
typerequiredstring

Value: DOCKER_BUILD_MULTI_ARCH

actionrequiredstring
Unique identifier for the action within the pipeline.
integrationstring
Integration identifier for cloud provider authentication. It refers to an integration in the workspace by its identifier, not by its display name.
dockerfile_pathstring
The path to the Dockerfile.
context_pathstring
The path to the Docker build context.
build_argsstring[]
The list of build arguments to pass to the Docker build.
secret_idstring
The ID of the secret to pass to the Docker build.
secret_srcstring
The source path of the secret file.
repositorystring
The Docker repository name. Setting it makes the action push the built image to that repository, which requires an integration (or a login and password) for the target registry. Leave it out to build the image without pushing and push it from a separate DOCKER_PUSH action. In DOCKER_PUSH it is the repository the image built by docker_build_action_name is pushed to.
versionsstring[]
The list of image versions/tags to build.
cache_modestring enum
The cache mode for the Docker build.
Allowed enum:
MIN,
MAX
target_platformstring
The target platform for the Docker build (e.g., linux/amd64, linux/arm64).
regionstring
Cloud region for the build (when using cloud integrations).
sign_imageboolean
If set to true, the image will be signed: with a P12 asset when signing_asset is provided, otherwise with Cosign keyless signing (Fulcio).
docker_image_tagstring
The tag of the Docker image.
docker_registrystring enum
The type of registry from which the image is retrieved.
Allowed enum:
NONE,
DOCKER_HUB,
AMAZON_ECR,
GOOGLE_GCR,
GOOGLE_ARTIFACT_REGISTRY,
OTHER,
GIT_HUB_CONTAINER_REGISTRY,
ARTIFACT_REGISTRY,
DIGITAL_OCEAN_CONTAINER_REGISTRY
artifactstring
The identifier of the artifact from artifact registry.
registrystring
The URL of the Docker registry.
target_stagestring
The target stage of the Dockerfile.
loginstring
Username for a registry reached without an integration. A push (repository set) needs an integration or login and password, except for the artifact registry.
passwordstring
Password for login, for a registry reached without an integration.
signing_assetstring
The name of the P12 asset used to sign the image. Effective only when sign_image is set to true; when omitted, Cosign keyless signing (Fulcio) is used.
trigger_timestring enum
Specifies when the action should be executed.
Allowed enum:
ON_EVERY_EXECUTION,
ON_FAILURE,
ON_BACK_TO_SUCCESS,
ON_WARNING,
ON_WAIT_FOR_APPROVE,
ON_TERMINATE
loopstring[]
The list of variables for dynamic action execution. The action runs once for each value.
run_only_on_first_failureboolean
When true, the action runs only on the first failure instead of on each failure. Used only when trigger_time is ON_FAILURE.
disabledboolean
When set to true the action is disabled. By default it is set to false.
timeoutinteger
The timeout in seconds. It cannot exceed the action time limit of the workspace plan; a higher value is rejected.
ignore_errorsboolean
If set to true the execution will proceed, mark action as a warning and jump to the next action. Doesn't apply to deployment actions.
retry_intervalinteger
Delay time between auto retries in seconds.
retry_countinteger
Number of retries if the action fails.

Constraints: ≤ 10

run_nextstring enum
Defines whether the action should run in parallel with the next one.
Allowed enum:
WAIT_ON_SUCCESS,
IN_SOFT_PARALLEL,
IN_HARD_PARALLEL
trigger_conditionsTriggerConditionYaml[]
The list of trigger conditions to meet so that the action can be triggered.
variablesVariableYaml[]
The list of variables you can use in the action.

Last modified on Nov 2, 2026

YAML examples for Build multi-arch image

Build multi-architecture Docker image

yaml
- action: "Build multi-arch image"
  type: "DOCKER_BUILD_MULTI_ARCH"
  dockerfile_path: "Dockerfile"
  context_path: "."
  repository: "my-app"
  versions:
    - "latest"
    - "$BUDDY_RUN_COMMIT"
  target_platform: "linux/amd64,linux/arm64"
  docker_registry: "DOCKER_HUB"
  build_args:
    - "NODE_ENV=production"
    - "APP_VERSION=$BUDDY_RUN_COMMIT"
  integration: "my_docker_hub"
  sign_image: true

Simple multi-arch Docker build

yaml
- action: "Build multi-arch"
  type: "DOCKER_BUILD_MULTI_ARCH"
  dockerfile_path: "Dockerfile"
  repository: "my-app"
  target_platform: "linux/amd64,linux/arm64"
  integration: "my_integration"