持续部署Travis→Heroku

时间:2014-02-27 06:11:56

标签: heroku meteor travis-ci continuous-deployment

每次将提交推送到上游时,我都会使用Travis来测试CoinsManager

到目前为止,我正在使用以下步骤在Heroku上进行部署:

  1. 更新heroku上的应用设置
  2. 生成css并提交
  3. 仅将app /目录中的代码推送到heroku
  4. 删除本地css提交
  5. 转换为:

    $ heroku --app coinsmanager-beta config:add METEOR_SETTINGS="`cat app/settings.json`"
    $ cd app/client/compass && compass compile && cd -
    $ for file in `find . -name "*css"`; do git add -f $file; done; git ci -am "heroku style"
    $ git push heroku-beta `git subtree split --prefix app develop`:master --force
    $ git reset --soft HEAD~1 && git reset HEAD .
    

    我现在想要添加持续部署,并在测试通过后每次在上游开发分支上推送提交时更新我的​​测试版。

    请阅读我的.travis.yml文件here

    我首先尝试在 deploy.run 上执行这些步骤,但正如您所看到的in this build,找不到所有工具,例如wget,指南针,流星等。

    当我尝试在 after_success 中移动这些步骤时,例如in this build,我遇到了所需的heroku凭据问题,不确定如何在保持信息安全的同时从travis中提供这些凭据。 此外,在所有构建regardless of the branch之后运行 after_success ,这意味着如果将提交推送到master,并且测试通过,则将使用master branch app在heroku上启动新构建/ data。

    知道如何解决这些问题并正确设置持续部署吗?

1 个答案:

答案 0 :(得分:1)

我以类似于你描述的方式使用Travis-CI和Heroku,除了基于自耕农的项目。如果您将Heroku API密钥存储在travis环境变量中,如HEROKU_API_KEY ='Your Key',则不应该有auth问题。

我围绕这个主题写了一篇博客:http://www.parsed.io/yeoman-travis-ci-heroku/

请注意,我已将逻辑移出yml文件,但重点仍然相同。