我正在寻找方法来确保使用gcloud app deploy
部署到Google AppEngine(Python)的文件只是我需要的文件。
在日志文件中,它仅列出跳过的文件,但不列出已部署的文件。
有没有办法看到这个清单?
答案 0 :(得分:4)
所有在app service / module目录下存在或sym链接的文件和目录(即相应服务/模块的.yaml
文件所在的目录)将在部署相应的应用服务/模块,除非它们被跳过文件(即它们与默认或配置的skip_files
模式匹配 - 请参阅skip_files
Syntax doc中的app.yaml
行表)。
因此,您可以获取服务/模块目录的递归列表(确保您遵循/包含sym链接的子目录),然后从中删除跳过的文件。
或者,如果您使用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'}, ...]