Node.js 如何使用Hubot将Github repo部署到Heroku?
当他们Hubot时,GitHub说他们用他们的Hubot做的一件事就是部署。我正试图为我的项目做同样的事情,该项目的代码托管在GitHub上,而应用程序本身在Heroku上。我的丈夫也住在Heroku,但我先在本地做所有的测试 我的想法是在tmp中克隆目标repo,在该repo中添加一个远程设备以指向Heroku应用程序,然后运行Node.js 如何使用Hubot将Github repo部署到Heroku?,node.js,heroku,github,Node.js,Heroku,Github,当他们Hubot时,GitHub说他们用他们的Hubot做的一件事就是部署。我正试图为我的项目做同样的事情,该项目的代码托管在GitHub上,而应用程序本身在Heroku上。我的丈夫也住在Heroku,但我先在本地做所有的测试 我的想法是在tmp中克隆目标repo,在该repo中添加一个远程设备以指向Heroku应用程序,然后运行git push Heroku,或者(像这样)创建两个远程设备并以这种方式推送。当我尝试运行时,我已经让git克隆在本地工作 Exec "cd #{dir}; git
git push Heroku
,或者(像这样)创建两个远程设备并以这种方式推送。当我尝试运行时,我已经让git克隆
在本地工作
Exec "cd #{dir}; git remote add #{proj_loc} git@heroku.com:#{heroku_app}.git"
它最终将远程添加到git repo,该git repo存在于我启动的目录bin/hubot
中,而不是现在存在于tmp中的git repo。我知道dir设置正确,cd
工作正常,因为我已经运行了
Exec "cd #{dir}; pwd"
结果正是我所期望的。因此,git-remote
的行为让我感到困惑
有没有人做过类似的事情,或者至少可以告诉我为什么git remote
没有将远程设备添加到tmp中的temp中,以及如何修复它
我还没有尝试解决1)访问GitHub上的私人回购协议所需的密钥问题;2)部署到Heroku。我会弄清楚我是否能让它工作。当我听说Github如何使用Hubot时,我也考虑过同样的问题。不过,据猜测,他们将其托管在自己管理的机器上,比如物理机器或VPS,在部署代码时,VPS更像是本地机器。虽然您可能会在Heroku上获得一些信息,但我认为您将在密钥和实际部署方面遇到困难,但我很容易被证明是错误的:)我创建了一个Java/Play框架应用程序,它可能会满足您的需要:
该应用程序执行以下操作:
我是用我的系统做的。我让hubot通过SSH联系我的构建箱,并运行git pull/deploy命令。deploy命令将向hubot实例发送一个POST有效负载,并将所有状态发布到hubot的聊天客户端。我写了一整篇关于它的博文: