Cloud 运行 Cloud Build 步骤中的集成测试?

Cloud Run integration tests within Cloud Build steps?

我正在查看 Cloud 运行 对本地测试 here 的建议,即 docker run 您的 容器,然后 运行 你在 localhost:8080 上针对它进行的测试。像这样:

PORT=8080 && \
docker run -d -p 8080:${PORT} -e PORT=${PORT} gcr.io/myproject/myimage && \
./runtests.sh

现在假设我想 运行 这些测试作为 Cloud Build 的一部分。是 possible/advisable 到 运行 docker run 作为 Cloud Build 步骤吗?我没有看到 docker 本身的任何 gcr.io 图片,所以我猜不是?

还是需要先实际部署到云端运行,然后再测试?

根据文档,您应该可以这样做。您可以创建自定义步骤,docker 有一张图片:gcr.io/cloud-builders/dockerpublic documentation 中的 cloudbuild.yaml 中有更多关于创建自定义步骤的信息。

与此类似的内容应该适合您:

steps:
- name: 'gcr.io/cloud-builders/docker'
  args: [ 'run', '-d', '-p', '8080:8080', '-e', 'PORT=8080', 'gcr.io/myproject/myimage' , './runtests.sh']