2014-02-27 65 views
4

每次将提交推送到上游时,我正在使用特拉维斯测试CoinsManager连续部署特拉维斯→Heroku

而且到现在为止,我经常在Heroku上使用以下步骤部署:

  1. 更新在Heroku上的应用程序设置
  2. 生成CSS并提交
  3. 推只有中的代码应用程序/目录下的Heroku
  4. 删除本地CSS提交

翻译为:

$ 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的凭据问题要求,不知道如何从特拉维斯给他们,同时保持信息安全。 此外,after_success在所有版本之后运行,regardless of the branch,这意味着如果提交被推送到主,并且测试通过,将使用主分支app/data在heroku上启动新版本。

任何想法如何解决这些问题,并让我的连续部署设置正确?

+0

您是否看到http://docs.travis-ci.com/user/deployment/heroku/ –

回答

1

我以类似于您所描述的方式使用Travis-CI和Heroku,除了基于yeoman的项目。如果您将Heroku API密钥作为HEROKU_API_KEY ='您的密钥'存储在Travis环境变量中,则不应该存在授权问题。

我写了围绕该主题的博客:http://www.parsed.io/yeoman-travis-ci-heroku/

注意,因为我已经搬到逻辑出了YML文件,但问题仍然是相同的。