我有一个rails应用程序,它在测试成功之后并在将代码部署到Heroku之前立即在rake任务中运行数据库迁移。
我正在使用CodeShip来运行测试,运行迁移,然后最终部署到heroku。
但是,我遇到了Heroku新的Pipelines功能的问题。
将我的应用版本从一个环境推广到另一个环境后,只有application slug被复制到新环境中。在git中没有合并或更新分支,也没有代码生成触发器。
即使是heroku构建历史记录也只显示没有关联构建日志的促销条目。这是有道理的,因为它只是复制了slu ,,而不是建造一个新的slu ..
所以我的问题是,当我将我的应用程序推广到新环境时,我无法找到任何方法将自定义脚本挂钩到该事件中以执行数据库迁移。
主要问题
是否有支持,我只是找不到?如果没有,作品中的一个功能是否会支持这个?
功能建议
理想情况下,我希望通过合并底层的git分支来实现促销功能,这样代码仍然可以启动,在新环境中再次运行所有测试和迁移,然后最终在下一个环境中触发构建。 这将要求管道中的每个环境都绑定到一个特定的分支,而不是仅通过提交哈希提升,但我认为这不会有问题。
基本上我希望促销按钮能够完成开发人员在手动推广我们的应用程序版本时经常做的事情,合并到与该环境相关联的git分支,并让我们的CI服务器的git钩子从那里开始。
答案 0 :(得分:0)
可以在Procfile
中以release
进程类型定义推广后脚本。
release: npm run migrate