使用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以外的所有文件?
任何提示都将不胜感激!
答案 0 :(得分:0)
.gcloudignore
文件遵循与.gitignore
相同的模式。考虑到仅使用*
,可能最终成为一种递归方法,最终会弄乱其他要排除的文件。
考虑到这一点,我建议您尝试对.gcloudignore
文件使用以下配置-这样,斜杠应消除这种不良行为:
# Ignore everything
/*
# Except these files:
!main.py
!requirements.txt
提醒您,该文件必须与main.py
和requirements.txt
文件位于同一目录中,因此该路径可以正常工作。否则,您将需要在.gcloudignore
中设置整个路径。
在以下这些来自社区的帖子中-有关GCP以及.gitignore
上的其他内容-可能会对您有所帮助,因为它们的语法都相同,并且还有一些其他选择和想法实现它。
gcloud app deploy
? 让我知道信息是否对您有帮助!
答案 1 :(得分:0)
似乎 gcloud functions
处理 .gitignore
有一个错误; gcloud app
和 gcloud meta list-files-for-upload
不会遇到同样的问题,正确处理 !
规则。
this answer 中针对类似问题提出的解决方法对我有用,明确包含 .
目录,例如添加这样的规则。
!.