Skip to content

Commit 7ce26e6

Browse files
committed
Fix cloudbuild build
1 parent e47ce9a commit 7ce26e6

File tree

3 files changed

+27
-15
lines changed

3 files changed

+27
-15
lines changed

Dockerfile

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,23 +12,29 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
FROM golang:1.13.15 as builder
15+
FROM --platform=$BUILDPLATFORM golang:1.13.15 as builder
1616

1717
ARG STAGINGVERSION
18+
ARG BUILDPLATFORM
19+
ARG TARGETPLATFORM
1820

1921
WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver
2022
ADD . .
21-
RUN GCE_PD_CSI_STAGING_VERSION=${STAGINGVERSION} make gce-pd-driver
23+
# RUN mkdir -p bin \
24+
# && GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') go build -mod=vendor -ldflags "-X main.version=${STAGINGVERSION}" -o bin/gce-pd-csi-driver ./cmd/gce-pd-csi-driver/
25+
RUN GOARCH=$(echo $TARGETPLATFORM | cut -f2 -d '/') GCE_PD_CSI_STAGING_VERSION=${STAGINGVERSION} make gce-pd-driver
2226

2327
# MAD HACKS: Build a version first so we can take the scsi_id bin and put it somewhere else in our real build
24-
FROM k8s.gcr.io/build-image/debian-base-amd64:buster-v1.5.0 as mad-hack
25-
RUN clean-install udev
28+
FROM k8s.gcr.io/build-image/debian-base:buster-v1.6.0 as mad-hack
29+
RUN ln -s /bin/rm /usr/sbin/rm \
30+
&& clean-install udev
2631

2732
# Start from Kubernetes Debian base
28-
FROM k8s.gcr.io/build-image/debian-base-amd64:buster-v1.5.0
33+
FROM k8s.gcr.io/build-image/debian-base:buster-v1.6.0
2934
COPY --from=builder /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/bin/gce-pd-csi-driver /gce-pd-csi-driver
3035
# Install necessary dependencies
31-
RUN clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs
36+
RUN ln -s /bin/rm /usr/sbin/rm \
37+
&& clean-install util-linux e2fsprogs mount ca-certificates udev xfsprogs
3238
COPY --from=mad-hack /lib/udev/scsi_id /lib/udev_containerized/scsi_id
3339

3440
ENTRYPOINT ["/gce-pd-csi-driver"]

Makefile

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,10 @@ gce-pd-driver-windows:
4141
mkdir -p bin
4242
GOOS=windows go build -mod=vendor -ldflags -X=main.version=$(STAGINGVERSION) -o bin/${DRIVERWINDOWSBINARY} ./cmd/gce-pd-csi-driver/
4343

44-
build-container: require-GCE_PD_CSI_STAGING_IMAGE
45-
$(DOCKER) build --build-arg STAGINGVERSION=$(STAGINGVERSION) -t $(STAGINGIMAGE):$(STAGINGVERSION) .
44+
build-container: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
45+
$(DOCKER) buildx build --platform=linux \
46+
-t $(STAGINGIMAGE):$(STAGINGVERSION) \
47+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
4648

4749
build-and-push-windows-container-ltsc2019: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
4850
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows \
@@ -68,8 +70,8 @@ build-and-push-windows-container-20H2: require-GCE_PD_CSI_STAGING_IMAGE init-bui
6870
--build-arg BASE_IMAGE=$(BASE_IMAGE_20H2) \
6971
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
7072

71-
build-and-push-multi-arch: build-and-push-container-linux build-and-push-windows-container-ltsc2019 build-and-push-windows-container-1909 build-and-push-windows-container-2004 build-and-push-windows-container-20H2
72-
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux $(STAGINGIMAGE):$(STAGINGVERSION)_20H2 $(STAGINGIMAGE):$(STAGINGVERSION)_2004 $(STAGINGIMAGE):$(STAGINGVERSION)_1909 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
73+
build-and-push-multi-arch: build-and-push-container-linux-amd64 build-and-push-container-linux-arm64 build-and-push-windows-container-ltsc2019 build-and-push-windows-container-1909 build-and-push-windows-container-2004 build-and-push-windows-container-20H2
74+
$(DOCKER) manifest create --amend $(STAGINGIMAGE):$(STAGINGVERSION) $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 $(STAGINGIMAGE):$(STAGINGVERSION)_20H2 $(STAGINGIMAGE):$(STAGINGVERSION)_2004 $(STAGINGIMAGE):$(STAGINGVERSION)_1909 $(STAGINGIMAGE):$(STAGINGVERSION)_ltsc2019
7375
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="$(WINDOWS_IMAGE_TAGS)" WINDOWS_BASE_IMAGES="$(WINDOWS_BASE_IMAGES)" ./manifest_osversion.sh
7476
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
7577

@@ -79,11 +81,15 @@ build-and-push-multi-arch-debug: build-and-push-container-linux-debug build-and-
7981
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
8082

8183
push-container: build-container
82-
gcloud docker -- push $(STAGINGIMAGE):$(STAGINGVERSION)
8384

84-
build-and-push-container-linux: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
85-
$(DOCKER) buildx build --platform=linux/amd64,linux/arm64 \
86-
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux \
85+
build-and-push-container-linux-amd64: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
86+
$(DOCKER) buildx build --platform=linux/amd64 \
87+
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux_amd64 \
88+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
89+
90+
build-and-push-container-linux-arm64: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
91+
$(DOCKER) buildx build --platform=linux/arm64 \
92+
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux_arm64 \
8793
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
8894

8995
build-and-push-container-linux-debug: require-GCE_PD_CSI_STAGING_IMAGE init-buildx

cloudbuild.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ options:
66
substitution_option: ALLOW_LOOSE
77

88
steps:
9-
- name: 'gcr.io/k8s-testimages/gcb-docker-gcloud:v20201130-750d12f'
9+
- name: 'gcr.io/k8s-testimages/gcb-docker-gcloud:v20210331-c732583'
1010
entrypoint: make
1111
env:
1212
- GCE_PD_CSI_STAGING_IMAGE=gcr.io/${_STAGING_PROJECT}/gcp-compute-persistent-disk-csi-driver

0 commit comments

Comments
 (0)