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