调试部署失败的GCloud Functions

时间:2017-06-19 16:10:59

标签: node.js gcloud serverless-framework

今天刚开始使用GCloud Functions,我遇到了问题。 我已将我的一个项目更新为功能就绪,并使用谷歌的local-emulator(@ google-cloud / functions-emulator)来调试和测试我的新功能。 一切顺利,模拟器部署进行得很顺利。 ```

$ functions deploy doThing --trigger-http --timeout=540s
Copying file:///var/folders/nw/.../T/us-central1-doThing-....zip...
Waiting for operation to finish...done.
Deploying function.......done.
Function doThing deployed.

```

但是当我尝试使用实际的gcloud beta functions做同样的事情时,我得到了一个构建错误,没有任何理由或明显的方法来调试它:

```

$ gcloud beta functions deploy doThing --stage-bucket test-bucket --trigger-http --timeout=360s
Copying file:///var/folders/nw/.../T/tmpUJvuxd/fun.zip [Content-Type=application/zip]...
| [1 files][  7.5 MiB/  7.5 MiB]
Operation completed over 1 objects/7.5 MiB.
Deploying function (may take a while - up to 2 minutes)...failed.
ERROR: (gcloud.beta.functions.deploy) OperationError: code=13, message=Error in the build environment

```

在GClould日志中,我没有得到任何其他详细信息==> https://pastebin.com/6H7DRkE8

如何调试此部署问题?

2 个答案:

答案 0 :(得分:5)

经过一些研究,我找到了一种调试部署过程的方法。 verbosity工具附带了一组选项,这些选项不易发现,但提供gcloud beta functions deploy <NAME> --stage-bucket <BUCKET> --verbosity debug等功能。这就是调试部署过程所需的。在这里找到所有选项: https://cloud.google.com/sdk/gcloud/reference/alpha/functions/deploy (页面底部)

就我而言,问题是私人NPM回购,由于缺乏权限,肯定无法结账。

map/flatMap

答案 1 :(得分:1)

我刚遇到同样的问题,这是由package.json/dependencies中模块名称中的拼写错误引起的。