2

使用 App Engine Flexible env 时,有没有办法更新选定的文件?

每当我对 app.yaml 文件进行小改动时,我都会遇到一个问题:要对其进行测试,我需要部署整个应用程序,这需要大约 5 分钟。

有没有办法只更新配置文件?或者有没有办法在本地测试这些文件。

谢谢!

4

1 回答 1

3

安全/一揽子答案是否定的,因为无论更改多么微小,都需要更新 flex env docker 映像,请参阅如何加快 Google Cloud Platform 上的 Rails Docker 部署?

但是,可能有一些东西可以尝试(YMMV)。

来自App Engine 柔性环境

  • 您始终拥有对 Compute Engine 虚拟机实例的 root 访问权限。默认情况下,禁用对柔性环境中虚拟机实例的 SSH 访问。如果您愿意,您可以启用对应用程序的 VM 实例的 root 访问权限。

因此,您可以在 GAE 实例 VM 上以 root 身份登录并尝试手动修改特定的应用程序工件。当然,您需要先找到工件。

某些工件甚至可能不存在于 VM 映像本身中(例如那些由 GAE 基础架构专门使用的工件,例如队列定义)。但是应该可以在不更新 docker 映像的情况下更新这些工件,因为它们不是 flex env 服务本身的一部分。

其他工件可能是只读的,并且可能无法将它们更改为读写。

即使可能,此类手动更改也将是不稳定的,它们将无法在实例重新加载(这将使用未修改的docker 映像)后继续存在,这可能是某些更改生效所必需的。

许多“可能”,许多风险(手动修改应用程序代码可能对其功能产生负面影响),由您决定是否真的值得尝试。

更新:似乎这实际上已记录并支持,请参阅在生产中访问 Google App Engine Python 应用程序代码

于 2016-11-11T17:38:14.223 回答