Add multi-arch support for test images

- Add a multi-arch image with linux/amd64 and linux/arm64 (limit to just
  what we are running in CI)
- Bump versions to 2.0 as 1.0 is the single-arch image
- Use `docker buildx` instead of just docker, so we don't need to build
  manifests by hand
- busybox now does not have `nogroup`, since the test needs it, switch
  over from busybox to ubuntu for just the volume-ownership image

Signed-off-by: Davanum Srinivas <davanum@gmail.com>
This commit is contained in:
Davanum Srinivas 2021-04-23 12:03:10 -04:00
parent 9cf44ee13b
commit 1b5d59dfe2
No known key found for this signature in database
GPG Key ID: 80D83A796103BF59
3 changed files with 25 additions and 11 deletions

View File

@ -15,13 +15,20 @@
all: build all: build
PROJ=gcr.io/k8s-cri-containerd PROJ=gcr.io/k8s-cri-containerd
VERSION=1.0 VERSION=2.0
IMAGE=$(PROJ)/volume-copy-up:$(VERSION) IMAGE=$(PROJ)/volume-copy-up:$(VERSION)
PLATFORMS?=linux/amd64,linux/arm64
configure-docker:
gcloud auth configure-docker
build: build:
docker build -t $(IMAGE) . docker buildx build \
$(OUTPUT) \
--platform=${PLATFORMS} \
--tag $(IMAGE) .
push: push: OUTPUT=--push
gcloud docker -- push $(IMAGE) push: configure-docker build
.PHONY: build push .PHONY: configure-docker build push

View File

@ -12,7 +12,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
FROM busybox FROM ubuntu
RUN mkdir -p /test_dir && \ RUN mkdir -p /test_dir && \
chown -R nobody:nogroup /test_dir chown -R nobody:nogroup /test_dir
VOLUME /test_dir VOLUME /test_dir

View File

@ -15,13 +15,20 @@
all: build all: build
PROJ=gcr.io/k8s-cri-containerd PROJ=gcr.io/k8s-cri-containerd
VERSION=1.0 VERSION=2.0
IMAGE=$(PROJ)/volume-ownership:$(VERSION) IMAGE=$(PROJ)/volume-ownership:$(VERSION)
PLATFORMS?=linux/amd64,linux/arm64
configure-docker:
gcloud auth configure-docker
build: build:
docker build -t $(IMAGE) . docker buildx build \
$(OUTPUT) \
--platform=${PLATFORMS} \
--tag $(IMAGE) .
push: push: OUTPUT=--push
gcloud docker -- push $(IMAGE) push: configure-docker build
.PHONY: build push .PHONY: configure-docker build push