通过 Google Cloud Build 步骤创建 zip 存档以将其发布为工件

Create a zip archive via Google Cloud Build step to publish it as an artifact

我正在通过 GCB 构建一个现代 WP 主题,我需要一个最终的工件,一个 ZIP 包。作为 GCBб 的新手,我没有设法自己解决它,但听起来很明显

无论如何,这是我最后的构建步骤

- name: 'gcr.io/cloud-builders/yarn'
  args: ['build:production']

我需要创建 yarn 输出的 ZIP 存档,递归地包括除 node_modules 之外的所有文件夹,并将 ZIP 发布为工件(这部分很清楚,我已经让存储桶工作了) .

感谢帮助!

所以,希望这个答案能对某人有所帮助。我创建了一个自定义构建步骤,一个非常简单的步骤:

Dockerfile

FROM ubuntu
RUN apt-get -q update && \
apt-get -qqy install zip bzip2 gzip

ENTRYPOINT ["zip"]

cloudbuild.yaml

steps:
- name: gcr.io/cloud-builders/docker
  args: ['build', '-t', 'gcr.io/$PROJECT_ID/zip', '.']

images: ['gcr.io/$PROJECT_ID/zip']

并这样使用

- name: gcr.io/$PROJECT_ID/zip
  args: ['-r9T', 'theme-$BUILD_ID.zip', '.', '-x *node_modules*']