mirror of
https://github.com/ansible/awx-operator.git
synced 2026-05-07 05:42:55 +00:00
multi-architecture builds and publish (#1681)
* Add multi-arch image builds to makefile * A default set of platforms is specified and will build those if var `PLATFORMS` is not specified on the CLI * Builds containers and stores @ghcr with tag that is git commit. * Pushes the image to quay.io/ansible with tag devel. * Update Promote to use single build point and the multi-arch manifest - Pulls the complete manifest containing all architectures that matches the version from ghcr - Tag manifest with the specified version and publish to quay.io - Tag manifest as 'latest' and publish to quay.io Author: jon-nfc Co-authored-by: Christian M. Adams <chadams@redhat.com> Co-authored-by: TheRealHaoLiu
This commit is contained in:
15
Makefile
15
Makefile
@@ -107,6 +107,21 @@ docker-build: ## Build docker image with the manager.
|
||||
docker-push: ## Push docker image with the manager.
|
||||
${CONTAINER_CMD} push ${IMG}
|
||||
|
||||
# PLATFORMS defines the target platforms for the manager image be build to provide support to multiple
|
||||
# architectures. (i.e. make docker-buildx IMG=myregistry/mypoperator:0.0.1). To use this option you need to:
|
||||
# - able to use docker buildx . More info: https://docs.docker.com/build/buildx/
|
||||
# - have enable BuildKit, More info: https://docs.docker.com/develop/develop-images/build_enhancements/
|
||||
# - be able to push the image for your registry (i.e. if you do not inform a valid value via IMG=<myregistry/image:<tag>> than the export will fail)
|
||||
# To properly provided solutions that supports more than one platform you should use this option.
|
||||
PLATFORMS ?= linux/arm64,linux/amd64,linux/s390x,linux/ppc64le
|
||||
.PHONY: docker-buildx
|
||||
docker-buildx: ## Build and push docker image for the manager for cross-platform support
|
||||
- docker buildx create --name project-v3-builder
|
||||
docker buildx use project-v3-builder
|
||||
- docker buildx build --push $(BUILD_ARGS) --platform=$(PLATFORMS) --tag ${IMG} -f Dockerfile .
|
||||
- docker buildx rm project-v3-builder
|
||||
|
||||
|
||||
##@ Deployment
|
||||
|
||||
.PHONY: install
|
||||
|
||||
Reference in New Issue
Block a user