ruby-on-rails – Gitlab CI – 部署到Heroku并运行迁移

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Gitlab CI – 部署到Heroku并运行迁移前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在gitlab.com上托管了一个Rails应用程序,我按照本指南配置它以部署到heroku: http://docs.gitlab.com/ce/ci/examples/test-and-deploy-ruby-application-to-heroku.html.它工作正常.

我的问题是,每次部署到heroku时如何运行迁移?通过CLI进行部署时,我通常会这样做:

git push heroku master && heroku run rake db:migrate

但是使用gitlab-ci.yml我不知道如何做到这一点……

解决方法

如果您希望能够在GitLab CI过程中使用Heroku CLI的全部功能(包括在迁移失败时构建失败,无论出于何种原因),您还可以尝试这种方法来安装Heroku CLI并提供状态你的Heroku命令代码返回GitLab,当然还有命令行输出.在命令行上使用没有凭据的heroku运行需要将HEROKU_API_KEY环境变量设置为可以访问相关应用程序的密钥.
before_script:
  - echo "deb http://toolbelt.heroku.com/ubuntu ./" > /etc/apt/sources.list.d/heroku.list
  - wget -O- https://toolbelt.heroku.com/apt/release.key | apt-key add -
  - apt-get update
  - apt-get install -y heroku-toolbelt
  - gem install dpl

stages:
  - deploy

test_on_heroku:
  type: deploy
  script:
    - dpl --provider=heroku --app=my_heroku_app --api-key=$HEROKU_API_KEY
    - heroku run <your command here> --exit-code --app my_heroku_app

我实际上在Heroku实例上运行我的测试以确保环境完全相同.这是真正得心应手的地方.

猜你在找的Ruby相关文章