我正在尝试设置 Cloud Build 管道以将应用程序部署golang
到 App Engine,但它似乎产生了自身的无限版本,然后超时。
首先,这是我的配置。
steps:
- name: "gcr.io/cloud-builders/go"
args:
- get
- "-u"
- "-d"
- "github.com/didip/tollbooth"
- "github.com/lib/pq"
- "github.com/stretchr/testify"
- "github.com/go-redis/redis"
- "cloud.google.com/go/pubsub"
dir: "/workspace"
volumes:
- name: 'go'
path: '/gopath'
env:
- "GOPATH=/gopath"
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy", "--stop-previous-version"]
dir: "/workspace"
volumes:
- name: 'go'
path: '/gopath'
env:
- "GOPATH=/gopath"
以下是相关部分app.yaml
:
service: "myservice"
runtime: custom
env: flex
当我部署到已将其配置为监视的分支时,它会很好地开始构建,并完成第 0 步。然后它开始第 1 步,即gcloud app deploy
,它似乎递归地生成了另一个管道实例(请参阅下面的日志)。这种情况一直持续到一切超时。
这是日志的开头(接近尾声,您会看到它再次在第 1 步中递归地开始第 0 步)。
starting build "e5ad47ed-5332-4bc7-b4ac-618e243f05a5"
FETCHSOURCE
Fetching storage object: gs://staging.myproject-event.appspot.com/asia.gcr.io/myproject-event/appengine/myservice.20190130t095428:latest#1548842070817530
Copying gs://staging.myproject-event.appspot.com/asia.gcr.io/myproject-event/appengine/myservice.20190130t095428:latest#1548842070817530...
/ [0 files][ 0.0 B/ 10.9 KiB]
-
- [1 files][ 10.9 KiB/ 10.9 KiB]
Operation completed over 1 objects/10.9 KiB.
BUILD
Starting Step #0
Step #0: Already have image (with digest): gcr.io/cloud-builders/go
Step #0: Documentation at https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/go/README.md
Step #0: Running: go get -u -d github.com/didip/tollbooth github.com/lib/pq github.com/stretchr/testify github.com/go-redis/redis cloud.google.com/go/pubsub
Finished Step #0
Starting Step #1
Step #1: Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1: Services to deploy:
Step #1:
Step #1: descriptor: [/workspace/app.yaml]
Step #1: source: [/workspace]
Step #1: target project: [myproject-event]
Step #1: target service: [myservice]
Step #1: target version: [20190130t095546]
Step #1: target url: [https://myservice-dot-myproject-event.appspot.com]
Step #1:
Step #1:
Step #1: Do you want to continue (Y/n)?
Step #1: WARNING: Unable to verify that the Appengine Flexible API is enabled for project [myproject-event]. You may not have permission to list enabled services on this project. If it is not enabled, this may cause problems in running your deployment. Please ask the project owner to ensure that the Appengine Flexible API has been enabled and that this account has permission to list enabled APIs.
Step #1: Beginning deployment of service [myservice]...
Step #1: Building and pushing image for service [myservice]
Step #1: Started cloud build [b41069a6-2ef7-4eaf-8b49-de36bc620be2].
Step #1: To see logs in the Cloud Console: https://console.cloud.google.com/gcr/builds/b41069a6-2ef7-4eaf-8b49-de36bc620be2?project=954549095871
Step #1: ----------------------------- REMOTE BUILD OUTPUT ------------------------------
Step #1: starting build "b41069a6-2ef7-4eaf-8b49-de36bc620be2"
Step #1:
Step #1: FETCHSOURCE
Step #1: Fetching storage object: gs://staging.myproject-event.appspot.com/asia.gcr.io/myproject-event/appengine/myservice.20190130t095546:latest#1548842148386512
Step #1: Copying gs://staging.myproject-event.appspot.com/asia.gcr.io/myproject-event/appengine/myservice.20190130t095546:latest#1548842148386512...
Step #1: / [0 files][ 0.0 B/ 10.9 KiB]
/ [0 files][ 10.9 KiB/ 10.9 KiB]
-
- [1 files][ 10.9 KiB/ 10.9 KiB]
Step #1: Operation completed over 1 objects/10.9 KiB.
Step #1: BUILD
Step #1: Starting Step #0
Step #1: Step #0: Already have image (with digest): gcr.io/cloud-builders/go
Step #1: Step #0: Documentation at https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/go/README.md
Step #1: Step #0: Running: go get -u -d github.com/didip/tollbooth github.com/lib/pq github.com/stretchr/testify github.com/go-redis/redis cloud.google.com/go/pubsub
Step #1: Finished Step #0
Step #1: Starting Step #1
Step #1: Step #1: Already have image (with digest): gcr.io/cloud-builders/gcloud
Step #1: Step #1: Services to deploy:
这种情况一直持续到我手动终止最后一个构建:
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: Copying gs://staging.solution360-event.appspot.com/asia.gcr.io/solution360-event/appengine/authproxy.20190130t100329:latest#1548842611410114...
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: / [0 files][ 0.0 B/ 10.9 KiB]
-
- [1 files][ 10.9 KiB/ 10.9 KiB]
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: Operation completed over 1 objects/10.9 KiB.
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: BUILD
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: Starting Step #0
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: Step #0: Already have image (with digest): gcr.io/cloud-builders/go
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: Step #0: Documentation at https://github.com/GoogleCloudPlatform/cloud-builders/blob/master/go/README.md
Step #1: Step #1: Step #1: Step #1: Step #1: Step #1: Step #0: Running: go get -u -d github.com/didip/tollbooth github.com/lib/pq github.com/stretchr/testify github.com/go-redis/redis cloud.google.com/go/pubsub
我试过的:
- 从命令中删除“--stop-previous-versions”标志。
- 挂载
gopath
在不同的卷中,以防导致 gcloud 递归地进入其中。 - 只运行第 1 步,结果相同。