Jenkins
最近把 jenkins 架起來,筆記一下遇到的問題。
Install and Upgrade
安裝方式請參考http://pkg.jenkins-ci.org/debian/,可能我在多年前有安裝過,因此安裝時出現這樣的error:
要移除掉重新安裝:
Reference:
problems installing latest version of jenkins
Nginx + Jenkins
jenkins 預設跑在8080 port,因此直接連到 http://
Reference:
Starting and Accessing Jenkins
3. Enable Jenkins log
若要看 jenkins 的log,還要加上 log 的參數設定
Reference:
Starting and Accessing Jenkins
4. No valid crumb was included in the request
設定完之後基本上就可以用了,不過打開瀏覽器的 console 一直會出現
|
|
Reference:
https://wiki.jenkins-ci.org/display/JENKINS/Change+time+zone
Bitbucket hook Jenkins
最後最重要的就是要把你的專案 hook 到 Jenkins 啦,我測試的 project 放在 Bitbucket,所以就用 Bitbucket 來舉例。
- 安裝 jenkins plugin:
到 manage plugin/available 安裝 Build Authorization Token Root Plugin。 - 到你的 job 設定裏頭打開 Build Triggers/ Trigger builds remotely,設定 Authentication Token,填入自己設定的一組 Token(例如
build1234567
) - 測試 http://jenkins-server/buildByToken/build?job=myjob&token=build1234567 是否有觸發 job 的執行。
- 到 bitbucket 你自己的 repository -> setting -> hooks -> select a hook -> Jenkins -> Add hook
參考資料 Jenkins hook management。
接下來很重要!!
馬的我追 log 追半天一直 hook 不成功,總之是因為 jenkins 的 hook 格式跟 bitbucket 送出的資料對不起來(我不曉得是哪邊的 bug),bitbucket POST 出去的 data,Jenkins 不吃。
請在 Endpoint 裏頭填入第三點的 url 並且加上一個 &
,讓他忽略之後的變數,例如:
http://```jenkins-server```/buildByToken/build?job=```myjob```&token=```build1234567```&
剩下都留空白。就好了。
大功告成
push 之後看到 jenkins 開始聽話的工作了,喝杯咖啡犒賞一下自己。