持續(xù)集成 jenkins+gitHub

之前有用過 hudson ,最近換了新公司,項(xiàng)目剛剛起步 持續(xù)集成總得做吧,那就jenkin
注:
Jenkins的前身是Hudson(Sun開發(fā)),2010年從Hudson分支出來。由于Sun被Oracle收購,后者聲稱擁有Hudson的商標(biāo)所有權(quán),前者被迫這樣做的。分支出來的Jenkins將繼續(xù)走open source道路,而Hudson可能會用于商業(yè)用途,二者都在繼續(xù)開發(fā)中

jenkins安裝 (環(huán)境 centos 6.5 )

wget -O /etc/yum.repos.d/jenkins.repo http://jenkins-ci.org/redhat/jenkins.repo

rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key

yum install jenkins

#啟動
service jenkins start

訪問 http://192.168.1.1:8080 (根據(jù)自己IP 進(jìn)行訪問)
1. 第一次啟動的時候可以選擇要安裝的插件和設(shè)置用戶密碼
2. jdk,maven 等配置進(jìn)行系統(tǒng)設(shè)置配置即可(系統(tǒng)管理>Global Tool Configuration )

注:默認(rèn)配置是8080 端口,如需更改請修正/etc/sysconfig/jenkins 配置文件即可

插件安裝

系統(tǒng)設(shè)置>管理插件 (選擇可選插件)

Paste_Image.png

輸入要安裝的插件進(jìn)行搜索即可

這里我們輸入Github Plugin 進(jìn)行搜索 ,jenkins會自動幫你解決其他插件的依賴,直接安裝該插件即可。

創(chuàng)建一個測試工程

源碼關(guān)聯(lián)

然后保存>構(gòu)建即可。

注: 上面構(gòu)建的代碼是公開庫的,一般公司項(xiàng)目都是私有的,這時候就要配置github 認(rèn)證。

構(gòu)建私有項(xiàng)目 權(quán)限配置

進(jìn)入github > settings >Personal access tokens >Generate new token

進(jìn)入jenkins > 系統(tǒng)設(shè)置

secret : 就是剛剛在github 復(fù)制的內(nèi)容。

然后重新對項(xiàng)目進(jìn)行設(shè)置

這樣就可以對私有項(xiàng)目進(jìn)行構(gòu)建 了。

遇到的問題:

  • git 版本問題導(dǎo)致總是報錯
  • 構(gòu)建完成后執(zhí)行shell 腳本 啟動的服務(wù)總是自動kill 現(xiàn)象

git 版本問題導(dǎo)致總是報錯

因?yàn)閏entos 6.5 自帶的git 是1.7 版本,我在服務(wù)器上使用git clone 命令都是能正??寺№?xiàng)目的,可是在jenkins構(gòu)建項(xiàng)目時死活過不了,異常大致內(nèi)容是:

Failed to connect to repository : Command "git config --local credential.helper store --
file=/tmp/git295604102612313123.credentials" returned status code 
129:stdout: stderr: error: unknown option `local'

網(wǎng)上查了一下說是git 版本太低,我試了公有倉庫的構(gòu)建是沒問題的(git 1.7 版本), 好吧,那就升級git 唄,不知道什么原因,我試了 2.9.3,2.4.5 版本都不行,更新后連 公有倉庫的代碼也構(gòu)建不成功了,最后是了2.7.1 版本居然OK了,不知道是不是之前升級有問題???

git 升級

 yum remove git
 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel -y
 yum install gcc perl-ExtUtils-MakeMaker -y
 wget https://www.kernel.org/pub/software/scm/git/git-2.7.1.tar.gz
 tar -xzvf git-2.7.1.tar.gz
 cd git-2.7.1
 make prefix=/usr/local/git all
 make prefix=/usr/local/git install
 ln -s /usr/local/git/bin/git /usr/bin/git

問題總算是解決 了。

構(gòu)建完成后執(zhí)行shell 腳本 啟動的服務(wù)總是自動kill 現(xiàn)象

這個問題我是無語了,網(wǎng)上找了很多資料包括官網(wǎng)都是說指定 BUILD_ID=xxx 就可以了,不過我是怎么試都不行,包括自己寫腳本ssh 進(jìn)行訪問啟動還是會被kill

最后解決辦法是進(jìn)入系統(tǒng)配置>SSH sites

然后進(jìn)入要構(gòu)建的項(xiàng)目進(jìn)行設(shè)置

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容