我想在Google App Engine上设置登台环境,并在以下问题中找到了很好的指导: 如何在Google App Engine上设置登台环境
我唯一未解决的问题是在这种情况下如何处理Cron作业。 理想情况下,我只需要更改版本以部署到生产环境,但是我担心那将意味着所有cron作业也都在登台版本上运行,不是这样吗?
如果您使用其他版本方法,则需要注意以下事项 :
如果已经为作业设置了目标参数,则将请求发送到指定的版本。 否则,Cron请求将发送到应用程序的默认版本。
我一直在使用target
参数将cron作业定向到不同的模块,根据上面的引用,我猜想它也可以用于通过URL通过模块路由将作业定向到不同的版本:
target: version
要么
target: version-dot-module
我个人更喜欢使用不同的应用程序方法,以确保在过渡和生产环境之间不会产生干扰,即使执行大量的返工也破坏了向后兼容性:)
对于该方法,我使用代码的2个不同分支中的2个不同的工作区,它们之间的差异很小( .yaml
文件中的application
字段以及其他与暂存相关的增量)。
staging
工作区和分支 production
工作区和分支 每当我对staging
分支中的代码感到满意时,我:
staging
分支在production
一个 production
工作空间并从中进行部署->更新production
应用 staging
工作空间中我需要的任何内容(如果需要,也将更改提交到staging
分支) staging
工作空间进行部署->更新staging
应用 该方法可能也可以在不同的版本方法中使用, .yaml
文件中的version
字段在两个分支中是不同的。