我可以只更新 app.yaml 文件而不上传所有项目吗
Can I update only app.yaml file without uploading all project
有没有办法在使用 App Engine Flexible env 时更新选定的文件?
每当我在 app.yaml 文件中做一个小改动时,我都会遇到一个问题:要测试它,我需要部署整个应用程序,这需要大约 5 分钟。
有没有办法只更新配置文件?或者有没有办法在本地测试这些文件。
谢谢!
safe/blanket 的答案是 否 因为 flex env docker 图像需要更新,无论变化有多么微小,见 How can I speed up Rails Docker deployments on Google Cloud Platform?
但是,可能 可以尝试 (YMMV)。
来自App Engine Flexible Environment:
- You always have root access to Compute Engine VM instances. SSH access to VM instances in the flexible environment is disabled by
default. If you choose, you can enable root access to your app's VM
instances.
因此,您可能 能够以 root 身份登录到您的 GAE 实例 VM 并尝试手动修改特定的应用工件。当然,你需要先找到神器。
有些工件 可能 甚至不存在于 VM 映像本身中(例如,那些由 GAE infra、队列定义专门使用的工件)。但是 应该 可以在不更新 docker 图像的情况下更新这些工件,因为它们不是 flex env 服务本身的一部分。
其他工件可能是只读的并且可能无法将它们更改为读写。
即使可能,此类手动更改也是不稳定的,它们将无法在实例重新加载(使用 未修改 docker 图像)后继续存在,可能需要才能使某些更改生效。
很多"might",很多风险(手动修改应用程序代码可能对其功能产生负面影响),由您决定是否真的值得尝试。
更新: 似乎这实际上已记录并得到支持,请参阅 Accessing Google App Engine Python App code in production
有没有办法在使用 App Engine Flexible env 时更新选定的文件?
每当我在 app.yaml 文件中做一个小改动时,我都会遇到一个问题:要测试它,我需要部署整个应用程序,这需要大约 5 分钟。
有没有办法只更新配置文件?或者有没有办法在本地测试这些文件。
谢谢!
safe/blanket 的答案是 否 因为 flex env docker 图像需要更新,无论变化有多么微小,见 How can I speed up Rails Docker deployments on Google Cloud Platform?
但是,可能 可以尝试 (YMMV)。
来自App Engine Flexible Environment:
- You always have root access to Compute Engine VM instances. SSH access to VM instances in the flexible environment is disabled by default. If you choose, you can enable root access to your app's VM instances.
因此,您可能 能够以 root 身份登录到您的 GAE 实例 VM 并尝试手动修改特定的应用工件。当然,你需要先找到神器。
有些工件 可能 甚至不存在于 VM 映像本身中(例如,那些由 GAE infra、队列定义专门使用的工件)。但是 应该 可以在不更新 docker 图像的情况下更新这些工件,因为它们不是 flex env 服务本身的一部分。
其他工件可能是只读的并且可能无法将它们更改为读写。
即使可能,此类手动更改也是不稳定的,它们将无法在实例重新加载(使用 未修改 docker 图像)后继续存在,可能需要才能使某些更改生效。
很多"might",很多风险(手动修改应用程序代码可能对其功能产生负面影响),由您决定是否真的值得尝试。
更新: 似乎这实际上已记录并得到支持,请参阅 Accessing Google App Engine Python App code in production