結合jenkins與bitBucket
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
此篇環境以Ubuntu為範例
因為jenkins是java寫的,所以要先安裝java環境
1.安裝JRE
之後點選Enter
2.安裝JDK
之後可輸入
查看是否正確安裝java
3.安裝jenkins
4.設定jenkins
1.
剛才安裝好後jenkins服務會自動執行,我們直接到<EC2的IP>:8080
即可
ex:http://13.112.175.93:8080/
第一次進去他會要我們輸入一個管理者權限密碼,位置在 /var/lib/jenkins/secrets/initialAdminPassword
所以我們到terminal上輸入
隨即會顯示該密碼
之後把它貼到jenkins網頁上點選繼續即可
再來點選左邊的install suggest plugin
安裝推薦的plugin
如果安裝等太久可以直接按重新整理,之後會進入到設定管理者資料的部分
設定完後即可點選create new jobs
2.
輸入一個名稱後點選free style job
之後按左下角ok
之後下拉到Source Code Management
把後面加入我們在bitbucket新創立的repo的url
如果是private的repo記得點選Add 之後輸入你在該網站的帳號密碼
注意build之前先確定該repo不是空的
之後我們點選左方的Build Now
Build完後點左側的Workspace
即可發現我們的bitbucket的repo順利被拉近jenkins裡面
3.
如何讓每次在bitbucket 進行commit時讓jenkins自動build呢?
--安裝bitbucket plugin
點選左側回到dashboard -> 點選左側Manang Jenkins -> 點選中間拼圖形狀的Manage plugin
->點選上方Available的Tab
->在右上輸入框輸入bitbucket
->打勾Bitbucket Plugin
之後點選下方download and install
--之後點選剛jenkins的專案,點選configuration 之後下拉到Build Triggers
將Build when a change is pushed to BitBucket
打勾
--再來進入bitbucket的repo點選左側齒輪(settings)然後加入webhook
title隨意輸入,URL輸入如下
JENKINS_URL/bitbucket-hook/
EX:http://13.112.175.93:8080/bitbucket-hook/
之後隨意更改我們剛才專案的程式碼,再次push到bitbucket即可看到jenkins的build被啟動了
4.
接著我們到configure的Build區塊點選左下的Add build step
選單,選擇execute shell
,之後在裡面輸入我們想執行的shell script即可,以後每次jenkins觸發build時都會執行
5.
我們要在jenkins build 時去觸發 自動部署的動作,這裡我們的做法是在execute shell內寫上ssh到web server機器,之後ssh進入後再去執行動作
類似如下圖
從jenkins 寫script SSH到別台機器時可能問題
1.no tty present and no askpass program specified
https://gist.github.com/hayderimran7/9246dd195f785cf4783d
2.Host key verification failed
http://www.51testing.com/html/38/225738-234384.html
3.Load key "/home/ubuntu/test2.pem": Permission denied Permission denied (publickey).
輸入sudo chmod 777 /home/ubuntu/test2.pem
Last updated