- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Rails 应用程序,它在测试成功后并在将代码部署到 Heroku 之前立即在 rake 任务中运行数据库迁移。
我正在使用 CodeShip运行测试,运行迁移,然后最终部署到 heroku。
但是,我遇到了 Heroku 的新 Pipelines 问题。功能。
将我的应用程序版本从一个环境提升到另一个环境后,只有 application slug被复制到新环境。 git 中没有分支被合并或更新,也没有代码构建触发。
即使是 heroku 构建历史也只显示一个没有相关构建日志的升级条目。这是有道理的,因为它只是复制 slug,而不是构建新的 slug。
所以我的问题是,当我将我的应用程序推广到新环境时,我无法找到任何方法将自定义脚本挂接到该事件以执行数据库迁移。
主要问题
是否有我一直找不到的支持?如果没有,作品中是否有支持此功能的功能?
功能建议
理想情况下,我希望提升功能通过合并底层 git 分支来工作,这样代码传输仍然可以启动,在新环境中再次运行所有测试和迁移,然后最终在下一个环境中触发构建。 这将要求管道中的每个环境都绑定(bind)到一个特定的分支,而不是仅仅通过提交哈希来提升,但我认为这不会有问题。
本质上,我希望提升按钮能够执行我们开发人员在手动提升我们的应用程序版本时经常执行的操作,合并到与该环境关联的 git 分支,并让我们的 CI 服务器的 git 钩子(Hook)从那里启动它。
最佳答案
升级后脚本可以在 Procfile
中定义为 release
进程类型。
release: npm run migrate
关于heroku - 如何在 Heroku 管道促销期间调用部署前/部署后脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37889442/
我是一名优秀的程序员,十分优秀!