【问题标题】:gcloud functions deploy fails with .cloudignore filegcloud 函数部署失败,出现 .cloudignore 文件
【发布时间】:2020-06-09 02:35:21
【问题描述】:

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

错误:(gcloud.functions.deploy) OperationError: code=3, message=Build failed: Build error details not available

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

.cloudignore

# Ignore everything
*

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

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

非常感谢任何提示!

【问题讨论】:

    标签: google-cloud-platform gcloud gcloudignore


    【解决方案1】:

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

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

    # Ignore everything
    /*
    
    # Except these files:
    !main.py
    !requirements.txt
    

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

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

    如果这些信息对您有帮助,请告诉我!

    【讨论】:

    • 感谢您抽出宝贵时间回答,但不幸的是,这不起作用,它会产生与上述相同的非特定错误。
    • 嗨@Sebastian 感谢您的确认。您是否检查过我提供的上述文章并尝试过其他选项?如果他们都没有解决您的问题并且一切都配置良好 - 相同目录上的文件等 - 我建议您直接联系Google's Support,以便他们可以帮助您调查可能影响您的文件的因素。由于.gcloudignore 文件配置良好,它应该可以按预期工作。
    • 是的,似乎适用于 .gitignore 的东西不一定适用于 .cloudignore。由于我没有参加高级支持计划,因此很遗憾无法获得 Google 的支持...
    • 这里有类似的问题,gcloud meta list-files-for-upload 正确处理了 ! 规则,但实际的 gcloud functions deploy 处理不当。
    【解决方案2】:

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

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

    !.
    

    【讨论】:

      猜你喜欢
      • 2019-03-03
      • 2015-02-01
      • 1970-01-01
      • 2019-03-08
      • 2018-08-14
      • 2020-03-25
      • 2020-01-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多