【问题标题】:See the files that will be deploy to Google AppEngine查看将部署到 Google AppEngine 的文件
【发布时间】:2017-04-09 20:47:16
【问题描述】:

我正在寻找方法来确保我使用 gcloud app deploy 部署到 Google AppEngine (Python) 的文件只是我需要的文件。
在日志文件中,它只列出被跳过的文件,而不是部署的文件。

有没有办法查看这个列表?

【问题讨论】:

标签: google-app-engine gcloud


【解决方案1】:

所有应用程序服务/模块目录下存在或符号链接的文件和目录(即相应服务/模块的.yaml文件所在的目录)将在相应应用程序时部署服务/模块已部署,除非它们被跳过文件(即它们匹配默认或配置的 skip_files 模式 - 请参阅 app.yaml Syntax doc 表中的 skip_files 行)。

因此您可以获得服务/模块目录的递归列表(确保您遵循/包含符号链接的子目录),然后从中删除跳过的文件。

或者,如果您使用appcfg.py update 进行部署,则可以使用其--noisy 选项,这将使其显示所需的信息等,如下所示:

...
09:31 AM Scanning files on local disk.
...
2016-11-25 09:31:28,131 INFO appcfg.py:2516 Processing file 'mail.py' 
2016-11-25 09:31:28,131 INFO appcfg.py:2657 Ignoring file 'mail.pyc': File matches ignore regex. 
2016-11-25 09:31:28,132 INFO appcfg.py:2516 Processing file 'main.py' 
2016-11-25 09:31:28,132 INFO appcfg.py:2657 Ignoring file 'main.pyc': File matches ignore regex. 
2016-11-25 09:31:28,132 INFO appcfg.py:2516 Processing file 'main.yaml' 
2016-11-25 09:31:28,133 INFO appcfg.py:2516 Processing file 'queue.yaml' 
2016-11-25 09:31:28,133 INFO appcfg.py:2516 Processing file 'templates/admin.html' 
...

很遗憾,gcloud app deploy 没有类似的选项。

编辑:

从 Google Cloud SDK 171.0.0 开始,添加选项 --verbosity=info 在完成上传文件后,会在日志行中为您提供已处理的文件

INFO: Manifest: [{'path/of/file/': {'sourceUrl': 'https://storage.googleapis.com/staging.project.appspot.com/hash', 'sha1Sum': 'hash'}, ...]

【讨论】:

  • 如果您使用gcloud app deploy 选项部署应用程序,这是否意味着您无法看到部署在谷歌云平台控制台中的文件!?
  • 我无法在控制台中找到我使用gcloud app deploy 选项通过终端部署的文件(查看存储库),但我可以看到我通过克隆使用的文件(查看存储库)控制台本身。
  • @FamicTech 我怀疑这是因为在控制台中克隆 repo 会产生另一个包含所有文件的 repo,但部署并没有这样做 - 它只是上传了 some 的 repo内容(未跳过的内容)。并且部署的代码在控制台中一般是看不到的,见stackoverflow.com/questions/42122249/…
【解决方案2】:

现在有一个 gcloud 命令可以显示这个: gcloud meta list-files-for-upload.

【讨论】:

    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-11
    • 2011-02-16
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多