Skip to content

Commit 3bc7660

Browse files
authored
Merge pull request #761 from cpanato/fix-image
fix missing variable when building the image on cloudbuild
2 parents 909ccdc + 7ce26e6 commit 3bc7660

File tree

3 files changed

+34
-28
lines changed

3 files changed

+34
-28
lines changed

Dockerfile

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +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
16+
17+
ARG STAGINGVERSION
18+
ARG BUILDPLATFORM
19+
ARG TARGETPLATFORM
20+
1621
WORKDIR /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver
1722
ADD . .
18-
RUN 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
1926

2027
# MAD HACKS: Build a version first so we can take the scsi_id bin and put it somewhere else in our real build
21-
FROM k8s.gcr.io/build-image/debian-base-amd64:buster-v1.5.0 as mad-hack
22-
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
2331

2432
# Start from Kubernetes Debian base
25-
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
2634
COPY --from=builder /go/src/sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/bin/gce-pd-csi-driver /gce-pd-csi-driver
2735
# Install necessary dependencies
28-
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
2938
COPY --from=mad-hack /lib/udev/scsi_id /lib/udev_containerized/scsi_id
3039

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

Makefile

Lines changed: 18 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,8 @@
1515
# Args:
1616
# GCE_PD_CSI_STAGING_IMAGE: Staging image repository
1717
REV=$(shell git describe --long --tags --match='v*' --dirty 2>/dev/null || git rev-list -n1 HEAD)
18-
ifdef GCE_PD_CSI_STAGING_VERSION
19-
STAGINGVERSION=${GCE_PD_CSI_STAGING_VERSION}
20-
else
21-
STAGINGVERSION=${REV}
22-
endif
23-
24-
GCFLAGS=""
25-
ifdef GCE_PD_CSI_DEBUG
26-
GCFLAGS="all=-N -l"
27-
endif
28-
18+
GCE_PD_CSI_STAGING_VERSION ?= ${REV}
19+
STAGINGVERSION=${GCE_PD_CSI_STAGING_VERSION}
2920
STAGINGIMAGE=${GCE_PD_CSI_STAGING_IMAGE}
3021
DRIVERBINARY=gce-pd-csi-driver
3122
DRIVERWINDOWSBINARY=${DRIVERBINARY}.exe
@@ -50,8 +41,10 @@ gce-pd-driver-windows:
5041
mkdir -p bin
5142
GOOS=windows go build -mod=vendor -ldflags -X=main.version=$(STAGINGVERSION) -o bin/${DRIVERWINDOWSBINARY} ./cmd/gce-pd-csi-driver/
5243

53-
build-container: require-GCE_PD_CSI_STAGING_IMAGE
54-
$(DOCKER) build --build-arg TAG=$(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 .
5548

5649
build-and-push-windows-container-ltsc2019: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
5750
$(DOCKER) buildx build --file=Dockerfile.Windows --platform=windows \
@@ -77,8 +70,8 @@ build-and-push-windows-container-20H2: require-GCE_PD_CSI_STAGING_IMAGE init-bui
7770
--build-arg BASE_IMAGE=$(BASE_IMAGE_20H2) \
7871
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
7972

80-
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
81-
$(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
8275
STAGINGIMAGE="$(STAGINGIMAGE)" STAGINGVERSION="$(STAGINGVERSION)" WINDOWS_IMAGE_TAGS="$(WINDOWS_IMAGE_TAGS)" WINDOWS_BASE_IMAGES="$(WINDOWS_BASE_IMAGES)" ./manifest_osversion.sh
8376
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
8477

@@ -88,17 +81,21 @@ build-and-push-multi-arch-debug: build-and-push-container-linux-debug build-and-
8881
$(DOCKER) manifest push -p $(STAGINGIMAGE):$(STAGINGVERSION)
8982

9083
push-container: build-container
91-
gcloud docker -- push $(STAGINGIMAGE):$(STAGINGVERSION)
9284

93-
build-and-push-container-linux: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
94-
$(DOCKER) buildx build --platform=linux/amd64,linux/arm64 \
95-
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux \
96-
--build-arg TAG=$(STAGINGVERSION) --push .
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 \
93+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
9794

9895
build-and-push-container-linux-debug: require-GCE_PD_CSI_STAGING_IMAGE init-buildx
9996
$(DOCKER) buildx build --file=Dockerfile.debug --platform=linux \
10097
-t $(STAGINGIMAGE):$(STAGINGVERSION)_linux \
101-
--build-arg TAG=$(STAGINGVERSION) --push .
98+
--build-arg STAGINGVERSION=$(STAGINGVERSION) --push .
10299

103100
test-sanity: gce-pd-driver
104101
go test -mod=vendor --v -timeout 30s sigs.k8s.io/gcp-compute-persistent-disk-csi-driver/test/sanity -run ^TestSanity$

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)