回到他们announced Hubot时,GitHub说他们对他们做的事情之一是部署。我正在尝试为我的项目执行相同的操作,其代码在GitHub上托管,而应用程序本身在Heroku上。我的Hubot也住在Heroku上,但我首先在本地进行测试。
我的想法是在tmp中克隆目标repo,在该repo中添加一个遥控器以指向Heroku应用程序,然后运行git push heroku
或(如this SO question)创建两个遥控器和{{ 1}}那样。当我尝试运行
push
在本地工作了
git clone
它最终将远程添加到我开始Exec "cd #{dir}; git remote add #{proj_loc} git@heroku.com:#{heroku_app}.git"
的目录中的git仓库中,而不是现在存在于tmp中的git仓库。我知道dir设置正确且bin/hubot
有效,因为我已经运行
cd
结果是我所期待的。所以Exec "cd #{dir}; pwd"
的行为让我感到困惑。
有没有人做过这样的事情,或者至少可以告诉我为什么git remote
没有将遥控器添加到tmp中的temp以及如何修复它?
我还要尝试解决1)访问GitHub上的私人仓库所需的密钥问题; 2)部署到Heroku。如果能让这个工作的话,我会弄明白的。
答案 0 :(得分:0)
当我听到Github如何使用Hubot时,我也是这么认为的。但有人猜测,他们将它托管在他们管理的机器上,比如物理或VPS,在部署代码时更像是本地机器。虽然你可能会在Heroku上工作,但我认为你会对键和实际部署感到困惑 - 但我很容易被证明是错误的:)
答案 1 :(得分:0)
我创建了一个可能做你想做的Java / Play Framework应用程序:
https://github.com/heroku/shareheroku-java
该应用程序执行以下操作:
您可以在以下位置看到它:
http://java.herokuapp.com
答案 2 :(得分:0)
我用我的系统做了这个。我让我的hubot通过SSH联系我的构建盒并运行git pull / deploy命令。 deploy命令会将POST有效负载发送回hubot实例,并将所有状态发布到hubot的聊天客户端。我写了一篇关于它的完整博文:http://tritarget.org/blog/2014/10/13/new-site-ship-it/