如果 Google Cloud Build 中的测试失败,如何拒绝签入

How to reject checking in if tests fail in Google Cloud Build

我创建了一个 Docker 文件并将其配置为我的 Google 云源存储库的触发器。 只有几个选项可供我选择“推送到分支”。 现在我的 docker 图像可以在新推送时执行新的 Cloud Function(用 golang 编写)部署。 我在我的 Docker 文件中添加了一个 go test 步骤。 如果它会导致 go test 失败,我想拒绝提交,比如 GitLab。 如果 go test 失败,云函数将不会更新。但糟糕的代码会留在那里。 如何为 Google Cloud Source Repository 实现此“拒绝失败代码”功能?

这不是一个完整或充分的答案,但对于评论来说太长了,片段需要格式化。

我怀疑您有一个构建文件,您可以在名为 cloudbuild.yaml 的地方编辑,您可以在其中添加一个测试步骤。

我们将 Github 用于带有 GCP 插件的存储库。虽然与 Google 的源存储库不同,但我们通常通过在 cloudbuild.yaml 文件中添加一个步骤来控制它,例如

# build and run the test suite
  - name: 'python:3.8-slim' # add a go container here, see below
    id: 'Run Unit Tests'
    entrypoint: '/bin/bash'
    args: 
      - "-c"
      - "\
      whattevercommandsyouwant && \
      morecommands"

这还不完整,但希望它能帮助您解决问题。 Google Cloud Build Go docs.

供您参考