簡體   English   中英

如何使用Hubot將Github存儲庫部署到Heroku?

[英]How to use Hubot to deploy a Github repo to Heroku?

當他們宣布 Hubot時,GitHub說他們對他們做的事情之一是部署。 我正在嘗試為我的項目執行相同的操作,其代碼在GitHub上托管,而應用程序本身在Heroku上。 我的Hubot也住在Heroku上,但我首先在本地進行測試。

我的想法是在tmp中克隆目標repo,在該repo中添加一個遙控器指向Heroku應用程序,然后運行git push heroku或(像這樣的SO問題 )創建兩個遙控器並按此方式push 當我嘗試運行時,我已經讓git clone在本地工作了

Exec "cd #{dir}; git remote add #{proj_loc} git@heroku.com:#{heroku_app}.git"

它最終將遠程添加到git bin/hubotbin/hubot存在於我啟動bin/hubot的目錄中,而不是現在存在於tmp中的git bin/hubot 我知道dir設置正確並且cd工作因為我已經運行了

Exec "cd #{dir}; pwd"

結果是我所期待的。 所以git remote的行為讓我很困惑。

有沒有人做過這樣的事情,或者至少可以告訴我為什么git remote不會將遙控器添加到tmp中的temp以及如何修復它?

我還要嘗試解決1)訪問GitHub上的私人倉庫所需的密鑰問題; 2)部署到Heroku。 我會弄明白,如果我能讓這個工作。

我用我的系統做了這個。 我讓我的hubot通過SSH聯系我的構建盒並運行git pull / deploy命令。 deploy命令會將POST有效負載發送回hubot實例,並將所有狀態發布到hubot的聊天客戶端。 我寫了一篇關於它的完整博客文章: http//tritarget.org/blog/2014/10/13/new-site-ship-it/

當我聽到Github如何使用Hubot時,我也是這么認為的。 但有人猜測,他們將它托管在他們管理的機器上,比如物理或VPS,在部署代碼時更像是本地機器。 雖然你可能會在Heroku上工作,但我認為你會在使用密鑰和實際部署時遇到困難 - 但我很容易被證明是錯誤的:)

我創建了一個可能做你想要的Java / Play Framework應用程序:
https://github.com/heroku/shareheroku-java

該應用程序執行以下操作:

  1. 克隆(或更新)來自git url的git repo
  2. 為現有Heroku用戶創建新的ssh密鑰
  3. 將密鑰添加到用戶的帳戶
  4. 在Heroku上創建一款新應用
  5. 將克隆的應用程序推送到Heroku
  6. 添加另一個用戶作為協作者
  7. 將所有權轉讓給用戶
  8. 從應用中刪除原始用戶
  9. 從原始用戶刪除ssh密鑰

您可以在以下位置看到它:
http://java.herokuapp.com

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM