在 Cloud Build CI/CD 管道中发出 curl 请求

Make a curl request in Cloud Build CI/CD pipeline

我有一台服务器,我们的测试用例 运行 用于所有 API,它位于 GCP 的计算引擎上。我如何从云构建 CI/CD 管道连接它,以便 CI/CD 阶段仅通过来自服务器的 200 响应状态代码?

GCP 表示要创建自定义构建步骤 (here)。文档不是很清楚

您有 2 个解决方案。

  • 您可以有效地创建自定义步骤。构建一个容器,通过 ENTRYPOINT 完成它,它将在 Cloud Build 管道
  • 中调用
  • 您可以在包含命令的任何步骤中执行 curl 调用,获取 return 代码并对其应用条件(此处如果与 200 不同则退出)。这里有一个代码示例
steps:
        - name: gcr.io/cloud-builders/gcloud
          entrypoint: "bash"
          args:
                  - "-c"
                  - |
                      RESPONSE=$(curl -i <YOUR URL> | grep HTTP | cut -d' ' -f2)
                      if [ "200" != "$$RESPONSE" ]; then exit 1; fi

注意双重 $$ 以防止 Cloud Build 查看替换变量