diff --git a/pkg/skaffold/build/gcb/cloud_build.go b/pkg/skaffold/build/gcb/cloud_build.go index d12ee302f96..920ba600dec 100644 --- a/pkg/skaffold/build/gcb/cloud_build.go +++ b/pkg/skaffold/build/gcb/cloud_build.go @@ -106,7 +106,12 @@ func (b *Builder) buildArtifactWithCloudBuild(ctx context.Context, out io.Writer } log.Entry(ctx).Debugf("project id set to %s", projectID) - cbBucket := fmt.Sprintf("%s%s", projectID, constants.GCSBucketSuffix) + cbBucket := b.Bucket + if cbBucket == "" { + cbBucket = fmt.Sprintf("%s%s", projectID, constants.GCSBucketSuffix) + } + log.Entry(ctx).Debugf("bucket set to %s", cbBucket) + buildObject := fmt.Sprintf("source/%s-%s.tar.gz", projectID, uuid.New().String()) if err := b.createBucketIfNotExists(ctx, c, projectID, cbBucket); err != nil { diff --git a/pkg/skaffold/schema/latest/config.go b/pkg/skaffold/schema/latest/config.go index 59b864c865c..bab8a6f9533 100644 --- a/pkg/skaffold/schema/latest/config.go +++ b/pkg/skaffold/schema/latest/config.go @@ -450,6 +450,9 @@ type GoogleCloudBuild struct { // Defaults to `gcr.io/k8s-skaffold/skaffold`. KoImage string `yaml:"koImage,omitempty"` + // Bucket specifies the Cloud Storage bucket to store the staged build sources. + Bucket string `yaml:"bucket,omitempty"` + // Concurrency is how many artifacts can be built concurrently. 0 means "no-limit". // Defaults to `0`. Concurrency int `yaml:"concurrency,omitempty"`