在 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 查看替换变量
我有一台服务器,我们的测试用例 运行 用于所有 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 查看替换变量