【问题标题】:Continuous deployment Travis → Heroku持续部署 Travis → Heroku
【发布时间】:2014-03-30 09:44:42
【问题描述】:

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

到目前为止,我经常通过以下步骤在 Heroku 上进行部署:

  1. 更新 heroku 上的应用设置
  2. 生成 css 并提交
  3. 只将 app/ 目录中的代码推送到 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 .

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

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

我首先尝试在 deploy.run 上执行这些步骤,但是正如您所见 in this build,没有找到 wget、compass、meteor 等所有工具。

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

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

【问题讨论】:

标签: heroku meteor travis-ci continuous-deployment


【解决方案1】:

我使用 Travis-CI 和 Heroku 的方式与您描述的类似,但基于 yeoman 的项目除外。如果您将 Heroku API 密钥作为 HEROKU_API_KEY='Your Key' 存储在 travis 环境变量中,则您不应该遇到身份验证问题。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多