結合jenkins與bitBucket

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu

此篇環境以Ubuntu為範例

因為jenkins是java寫的,所以要先安裝java環境

1.安裝JRE

sudo add-apt-repository ppa:openjdk-r/ppa

之後點選Enter

sudo apt-get update   
sudo apt-get install openjdk-7-jre

2.安裝JDK

sudo apt-get install openjdk-7-jdk

之後可輸入

java -version

查看是否正確安裝java

3.安裝jenkins

wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -

sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'

sudo apt-get update

sudo apt-get install jenkins

4.設定jenkins

1.

剛才安裝好後jenkins服務會自動執行,我們直接到<EC2的IP>:8080即可

ex:http://13.112.175.93:8080/

第一次進去他會要我們輸入一個管理者權限密碼,位置在 /var/lib/jenkins/secrets/initialAdminPassword

所以我們到terminal上輸入

sudo cat /var/lib/jenkins/secrets/initialAdminPassword

隨即會顯示該密碼

之後把它貼到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 TriggersBuild 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