0

使用 gcloud 将简单的 hello_world 应用程序部署到 Google Cloud Functions 时,我收到以下错误消息:

错误:(gcloud.functions.deploy)OperationError:代码= 3,消息=构建失败:构建错误详细信息不可用

我花了很长时间才弄清楚这是由于我的 .cloudignore 文件造成的:

.cloudignore

# Ignore everything
*

# Except these files:
!main.py
!requirements.txt

这个文件似乎有什么问题?什么是实现我想要的更好的方法,即忽略除 main.py 和 requirements.txt 之外的所有文件?

非常感谢任何提示!

4

2 回答 2

0

It seems that there's a bug with gcloud functions handling of .gitignore; gcloud app and gcloud meta list-files-for-upload don't suffer from the same problem, handling the ! rules correctly.

A workaround proposed in this answer to a similar question works for me, explicitly include the . directory e.g. add a rule like this.

!.
于 2021-01-08T05:55:09.103 回答
0

.gcloudignore文件遵循与.gitignore. 考虑到这一点,仅使用*, 可能最终成为一种递归方法,最终会弄乱其他被排除在外的文件。

考虑到这一点,我建议您尝试为您的.gcloudignore文件使用以下配置 - 这样,斜线应该消除这种不良行为:

# Ignore everything
/*

# Except these files:
!main.py
!requirements.txt

提醒一下,文件需要与文件位于同一目录main.pyrequirements.txt,这样路径才能正常工作。否则,您将需要在.gcloudignore.

在以下来自社区的这些帖子中 - 关于 GCP 和其他方面的具体内容.gitignore- 这可能会对您有所帮助,因为它们的语法是相同的,并且还有一些其他选项和想法来实现它。

让我知道这些信息是否对您有帮助!

于 2020-02-25T12:59:54.500 回答