Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google app engine 将运行时从Python更改为进入应用程序引擎标准环境_Google App Engine_Google App Engine Python_Google App Engine Go - Fatal编程技术网

Google app engine 将运行时从Python更改为进入应用程序引擎标准环境

Google app engine 将运行时从Python更改为进入应用程序引擎标准环境,google-app-engine,google-app-engine-python,google-app-engine-go,Google App Engine,Google App Engine Python,Google App Engine Go,我在AppEngine上有一个99%静态的网站。它在Python2.7运行时上运行。现在是改进这个webapp的时候了,因为我几乎没有Python代码,所以我更喜欢用Go来编写它 我是否可以将运行时从Python 2.7更改为Go,同时保持项目的完整性?具体来说,我希望保持相同的应用程序ID、附加到它的相同自定义域、相同的SSL证书,等等 我必须做些什么才能做到这一点?我肯定必须在app.yaml中更改运行时。还有别的吗 额外问题:这样的变化会不会在没有停机的情况下发生 我非常感谢您提供关于这方

我在AppEngine上有一个99%静态的网站。它在Python2.7运行时上运行。现在是改进这个webapp的时候了,因为我几乎没有Python代码,所以我更喜欢用Go来编写它

我是否可以将运行时从Python 2.7更改为Go,同时保持项目的完整性?具体来说,我希望保持相同的应用程序ID、附加到它的相同自定义域、相同的SSL证书,等等

我必须做些什么才能做到这一点?我肯定必须在
app.yaml
中更改
运行时。还有别的吗

额外问题:这样的变化会不会在没有停机的情况下发生


我非常感谢您提供关于这方面的文档链接(在实时应用程序上交换运行时)。我找不到任何值。

请为
版本指定一个
运行时
以及一个新值。部署后,您将拥有一个较旧的Python版本和一个较新的Go版本。不会有任何停机时间(与部署较新版本的Python时相同)


与其信任链接/文档(可能已经过时或不是100%完全符合您的意图),为什么不创建一个新的GAE Std项目用于测试目的,并亲自尝试呢。拥有GAE Std测试项目有助于测试新功能(尤其是其他无法访问您笔记本电脑上的开发环境的测试人员)。

GAE服务提供完整的功能。因此,应该可以简单地部署服务的新版本,该版本可以用不同的语言编写,甚至可以使用不同的GAE(standard/flex)环境。就我个人而言,我没有经历语言的变化,但我确实经历了将单一服务应用程序拆分为多服务应用程序的过程,我认为没有理由不适用相同的原则

可能首先将新版本开发为一个单独的应用程序,以便能够正确地测试它,而不会对旧版本造成意外影响,只有在这之后,才能将代码作为新版本放到旧应用程序中。那就是用GAE。事实上,如果您愿意,您可以将整个版本迁移作为一个单独的应用程序进行测试,而无需触摸现有的应用程序。我正在使用此技术(一个单独的应用程序ID)为我的应用程序实现一个暂存环境,完全与我的生产应用程序隔离,请参阅

确保在部署时不要将流量切换到新版本。这将使应用程序与旧版本一起工作。首先使用测试工具测试新版本是否按预期工作。然后,可能用于执行A/B测试,只有一小部分流量流向新版本。最后,当对结果满意时,将所有流量切换到新版本

您需要特别注意由所有服务/版本共享的应用程序级配置(调度、cron、队列、数据存储索引)。在这两个版本中,它们需要在功能上等效。服务隔离不适用于它们,只有项目隔离才能确保对旧版本没有影响

不需要对应用程序ID、自定义域映射或SSL配置进行任何更改。上述试验应确认这一点

与重新工作服务/模块相关的一些潜在有趣的帖子: