gcloud函数部署失败,并带有.cloudignore文件

时间:2020-02-25 11:12:06

标签: google-cloud-platform gcloud gcloudignore

使用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以外的所有文件?

任何提示都将不胜感激!

2 个答案:

答案 0 :(得分:0)

.gcloudignore文件遵循与.gitignore相同的模式。考虑到仅使用*,可能最终成为一种递归方法,最终会弄乱其他要排除的文件。

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

# Ignore everything
/*

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

提醒您,该文件必须与main.pyrequirements.txt文件位于同一目录中,因此该路径可以正常工作。否则,您将需要在.gcloudignore中设置整个路径。

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

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

答案 1 :(得分:0)

似乎 gcloud functions 处理 .gitignore 有一个错误; gcloud appgcloud meta list-files-for-upload 不会遇到同样的问题,正确处理 ! 规则。

this answer 中针对类似问题提出的解决方法对我有用,明确包含 . 目录,例如添加这样的规则。

!.