我正在使用连接到GitHub的Heroku Pipelines。
我有三种不同的环境Reviews
:-(我的CI测试成功后,所有我的拉取请求都自动部署到Staging
其中)- (我的主分支被部署到其中)- Production
(我的生产环境)
Review
当我拉并合并分支时,将创建并销毁我的应用。我Staging
和Production
应用程序始终相同。Staging
在更新我的master分支时得到更新,然后我可以手动决定将该代码提升为Production
。
太好了!除了我的app.json
文件遇到问题。
开发新分支时,我经常使用新的heroku插件,即Redis数据库或新的监视工具。我通过更新app.json
文件来做到这一点。例:
"addons": [
"logentries:le_tryit",
"newrelic:wayne",
{
"plan": "mongolab:sandbox",
"as": "MONGODB_URI"
},
{
"plan": "heroku-redis:hobby-dev",
"as": "REDIS_SESSIONS_URI"
}
]
创建请求请求后,便会在其中创建一个应用程序Reviews
,我可以看到我的新插件。不幸的是,当我将分支与master合并时,app.json
它似乎并没有在我的Staging
环境(以及随后的环境)中再次运行Production
。
有没有办法app.json
在现有的heroku应用中重新运行清单?并能在每次新部署中使它们自动化吗?
如果没有,这是否有原因?
谢谢!
无法按照您的要求进行操作。该app.json
只创建一个新的Heroku应用时解析,而不是在重新部署之一。原因是它可能对生产应用程序造成有害的副作用。
EG:如果您从app.json
文件中删除一行并将其推送到现有的Heroku应用程序,会发生什么?Heroku是否应该删除您的插件(可能破坏大量数据?)
相反,您应该做的是:在剪切生产版本时,如果需要使用新的插件或进行更改,请通过CLI手动进行。
例如:
$ heroku addons:create heroku-redis
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句