【问题标题】:When I deploy code through the GoogleAppEngineLauncher, does it upload all files?当我通过 GoogleAppEngineLauncher 部署代码时,它会上传所有文件吗?
【发布时间】:2009-12-11 14:02:40
【问题描述】:

所以目前 GoogleAppEngineLauncher 指向一个包含我的 app.yaml 文件的目录以及其他几个目录 - 假设它们是目录 A、B 和 C。如果 A 和 B 包含 python 文件、模板文件等。应用程序,但目录 C 不包含任何代码(它只是一个包含随机内容的 misc 目录),当我部署代码时它还会被上传吗?

这是我的 app.yaml 文件:

application: myapp
version: 1
runtime: python
api_version: 1

handlers:
- url: /stylesheet
  static_dir: stylesheet

- url: /images
  static_dir: images

- url: /.*
  script: main.py

【问题讨论】:

    标签: google-app-engine deployment


    【解决方案1】:

    默认情况下,所有内容(除了一些特殊模式,例如“dotfiles”)都会作为数据文件上传,可供您的应用访问,除非 app.yaml 指定某些文件应作为静态文件提供。

    如果您想完全排除文件上传,您需要在您的 app.yaml 中设置 skip_files 正则表达式,如 here 所述。

    【讨论】:

    • 后续部署怎么样,是重新上传所有文件还是只上传更改过的文件?
    • 默认情况下,appcfg 将在每次更新时(递归)上传 app.yaml-residing 目录中的所有文件。您可以使用push to deploy 模拟“增量部署”。
    • @Alice 不正确 - appcfg 对文件进行哈希处理,仅上传已更改的文件。
    • @Nick 有趣,我不知道。有趣的是,尽管只有一个文件发生了变化,但我已经部署了很多文件(约 4000 个),所以我想知道这些哈希是如何计算的,并与 App Engine 端的比较?可能存在一些操作系统干扰或时间戳差异。是否有一个简单的开关来获取正在上传的所有文件的名称列表(而不仅仅是摘要报告)?
    • @NickJohnson 我刚刚连续部署了两次,中间没有触及单个文件,使用 --verbose 查看正在上传的文件列表。在第二次运行中,再次上传了整个目录树。你有预感为什么会这样吗?我真的希望我的部署速度更快 :)
    猜你喜欢
    • 1970-01-01
    • 2020-12-28
    • 1970-01-01
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多