上次提到專案在 bigtuna 上的設定
這次要示範:
- 和 github 整合
- 將 build 結果寄送 email
- 安全性設定
一般的 github hook
專案的編輯頁面中, 有一個欄位叫 “Hook Name”
用於做 http post request trigger (其實後來發現get也可以)
舉例來說, bigtuna server 的 domain 假設是 bigtina.marsz.tw 的話
若專案的 hookname 設定為 “myapp”
則 trigger project build 的 url 則是
1
|
|
因此只要到 github.com 的專案頁面裡 “Admin” -> “Service Hooks” -> “Post-Receive URLs” 填入該網址即可
github 會在每次該專案有 push code 上來時, 送 post 到該 url
但常見的情況是, 在 github 上的專案裡有多條分支, 而我們只想針對某條分支有 push 時才進行 trigger
針對不同分支的 github hook
參考: http://bigtuna.appelier.com/configuration.html 最下方區塊
到 bigtuna 的專案目錄下, 打開 config/bugtuna.yml 加入
1 2 |
|
重起 bigtuna 後, hook 在 github 上的 url 則改為
1
|
|
“abcabc” 是你在 github_secure 填的值
因為 github 在送 post 到 url 時, 會帶上 push 的專案以及分支名稱
因此 bigtuna 會依據傳送過來的資訊找到對應的 github uri 和 branch 而啟動 build
而原先設定的 hook name 在這裡就沒有用到了
github_secure 的設定則是多一層簡單的安全性措施
email config
首先到 bigtuna 專案中設定 email smtp (以下為 gmail smtp 範例)
1 2 3 4 5 6 7 8 |
|
設定 email 內容中的 url host
1 2 |
|
重起 delayed job
1 2 |
|
在 project 中的 hook => mailer 打勾, 然後儲存
儲存後會發現原先打勾的地方多了 Configure
設定 email 時機與對象
注意: 若要寄給多人, 必須以半型逗號隔開, 不能用換行
1
|
|
其他安全性設定
最簡單的方式可以利用 htpasswd
相關設定請參考 htpasswd
設定完成後, github 的 hook url 也必須一同加上帳號密碼
1
|
|