【发布时间】:2016-12-21 11:28:24
【问题描述】:
在使用 App Engine 灵活环境时,是否可以更新所选文件?
每当我对 app.yaml 文件进行小幅更改时,我都会遇到一个问题:要对其进行测试,我需要部署整个应用程序,这需要大约 5 分钟。
有没有办法只更新配置文件?或者有没有办法在本地测试这些文件。
谢谢!
【问题讨论】:
标签: google-app-engine app-engine-flexible
在使用 App Engine 灵活环境时,是否可以更新所选文件?
每当我对 app.yaml 文件进行小幅更改时,我都会遇到一个问题:要对其进行测试,我需要部署整个应用程序,这需要大约 5 分钟。
有没有办法只更新配置文件?或者有没有办法在本地测试这些文件。
谢谢!
【问题讨论】:
标签: google-app-engine app-engine-flexible
安全/一揽子答案将是否,因为无论更改多么微小,都需要更新 flex env docker 映像,请参阅How can I speed up Rails Docker deployments on Google Cloud Platform?
但是,可能有一些东西可以尝试 (YMMV)。
来自App Engine Flexible Environment:
- 您始终拥有对 Compute Engine 虚拟机实例的根访问权限。对柔性环境中的虚拟机实例的 SSH 访问被禁用 默认。如果您选择,您可以启用对应用程序 VM 的 root 访问权限 实例。
因此您可能能够在您的 GAE 实例 VM 上以 root 身份登录并尝试手动修改特定的应用程序工件。当然,您需要先找到工件。
某些工件可能甚至不存在于 VM 映像本身中(例如那些由 GAE 基础设施专门使用的工件,例如队列定义)。但是应该可以在不更新 docker 镜像的情况下更新这些工件,因为它们不是 flex env 服务本身的一部分。
其他工件可能是只读的,并且可能无法将它们更改为读写。
即使可能,此类手动更改也将是不稳定的,它们将无法在实例重新加载(这将使用 未修改 docker 映像)后继续存在,这可能是必需的让一些更改生效。
很多“可能”,很多风险(手动修改应用代码可能对其功能产生负面影响),由您决定是否真的值得尝试。
更新: 看来这实际上已被记录和支持,请参阅 Accessing Google App Engine Python App code in production
【讨论】: