Linux系統(tǒng)下Jenkins+碼云持續(xù)集成環(huán)境搭建與配置

Linux上yum安裝并配置Jenkins

在Red Hat系(如Red Hat Enterprise Linux(RHEL),CentOS,F(xiàn)edora或Scientific Linux)上安裝Jenkins(yum方式)土涝。

前提條件

Jenkins依賴Jdk、Maven熙兔、Git, 在服務(wù)器上弛说,首先配置 Jdk環(huán)境(注意版本兼容)挽懦,Maven環(huán)境, 裝好Git。

說明: 由于Gitlab 對內(nèi)存要求太高, 我的云服務(wù)器是2G內(nèi)存, 所以使用的是碼云+Jenkins來實現(xiàn)持續(xù)集成剃浇。

附上Jenkins和Jdk的兼容關(guān)系:

  • 2.54(2017-04)和更新版本:Java 8
  • 1.612(2015-05)及更新版本:Java 7

安裝

運(yùn)行以下命令:

sudo wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
sudo rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key

如果你之前從Jenkins導(dǎo)入了密鑰巾兆,則“rpm --import”將失敗猎物,因為你已經(jīng)有了密鑰虎囚。可以忽略它并繼續(xù)前進(jìn)蔫磨。
接下來運(yùn)行install命令安裝:

yum install jenkins

啟動/停止

sudo service jenkins start/stop/restart

設(shè)置允許開機(jī)啟動

sudo chkconfig jenkins on

注意:

  • 如果收到以下錯誤消息淘讥,請確保已安裝Java:

    Starting jenkins (via systemctl):  Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.
                                                               [FAILED]
    
  • 如果遇到以下問題:

    Starting Jenkins bash: /usr/bin/java: No such file or directory
                                                       [FAILED]
    

    解決方案:去 /etc/init.d/ 打開 jenkins 文件

    vim /etc/init.d/jenkins
    

    你會發(fā)現(xiàn):

    candidates="
    /etc/alternatives/java
    /usr/lib/jvm/java-1.6.0/bin/java
    /usr/lib/jvm/jre-1.6.0/bin/java
    /usr/lib/jvm/java-1.7.0/bin/java
    /usr/lib/jvm/jre-1.7.0/bin/java
    /usr/lib/jvm/java-1.8.0/bin/java
    /usr/lib/jvm/jre-1.8.0/bin/java
    /usr/bin/java
    "
    

    這些是Jenkins查找java的路徑,如果你安裝的java不存在于上述任何路徑中, 就需要在上面的Jenkins文件中添加該路徑堤如。

    candidates="
    你的jdk安裝路徑,如/home/java/jdk1.8.0_191/bin/java 
    /etc/alternatives/java
    /usr/lib/jvm/java-1.6.0/bin/java
    /usr/lib/jvm/jre-1.6.0/bin/java
    /usr/lib/jvm/java-1.7.0/bin/java
    /usr/lib/jvm/jre-1.7.0/bin/java
    /usr/lib/jvm/java-1.8.0/bin/java
    /usr/lib/jvm/jre-1.8.0/bin/java
    /usr/bin/java
    "
    

防火墻以及云服務(wù)器白名單

  • 修改防火墻允許8080端口訪問(PS: 當(dāng)然也可以直接永久關(guān)閉防火墻,一了百了 /奸笑)

    vim /etc/sysconfig/iptables
    
  • 加入

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
    
  • 重啟防火墻生效

    sudo service iptables restart
    
  • 如果使用是阿里云之類的云服務(wù)器, 需要在控制臺添加安全組規(guī)則, 外網(wǎng)才能訪問蒲列。

登錄

  • 在瀏覽器中訪問(我的訪問路徑是http://47.98.216.253:8080/,端口默認(rèn)8080)

  • 首次進(jìn)入會要求輸入初始密碼如下圖窒朋,

  • 初始密碼在:/var/lib/jenkins/secrets/initialAdminPassword

    首次登錄
    默認(rèn)安裝
  • 選擇“Install suggested plugins”安裝默認(rèn)的插件,下面Jenkins就會自己去下載相關(guān)的插件進(jìn)行安裝蝗岖。

    自動安裝插件
  • 安裝完成之后, 創(chuàng)建管理員賬號, 配置項目訪問的根路徑, 然后完成侥猩。讓我們登錄進(jìn)來看看:

    Jenkins主頁

配置Jenkins實現(xiàn)持續(xù)集成

  • 安裝插件
  • 進(jìn)入菜單"系統(tǒng)管理"-->"插件管理"-->"Installed"


    安裝插件
  • 配置Jdk, Maven, Git

    • 進(jìn)入菜單"系統(tǒng)管理" --> "全局工具配置"


      全局工具配置

      全局工具配置
  • 新建項目


    新建一個maven項目
  • 跳轉(zhuǎn)項目配置頁(配置過程中如果缺少插件需要去安裝,可點擊"Apply"按鈕保存已輸入的配置信息)


    項目配置

    這里也可以通過主頁點擊項目名,然后選擇"配置"來進(jìn)入此頁面

  • 配置流程 "general" --> "Source Code Management(源碼管理)" --> "Build Triggers(構(gòu)建觸發(fā)器)" --> "build" --> "Post-build Actions(構(gòu)建后操作)"


    general

    源碼管理說明: 配置你的碼云項目所在的地址和郵箱以及私鑰(通過旁邊的add添加,下面放圖)


    源碼管理

    添加憑據(jù)

    構(gòu)建觸發(fā)器說明: 這一欄選擇Gitee webhook打鉤(若沒有說明沒有安裝碼云的插件), 下面提示一個URL需要用到(關(guān)聯(lián)碼云項目的),另外點擊"生成"按鈕生成的密碼也會在關(guān)聯(lián)碼云時用到。
    構(gòu)建觸發(fā)器

    如圖,關(guān)聯(lián)碼云項目,點擊添加按鈕,填寫上圖中的url和生成的密碼


    碼云WebHooks

    設(shè)置僅在build成功的時候運(yùn)行
    僅在build成功時運(yùn)行

    構(gòu)建后操作:
    構(gòu)建后操作

    如果看不到下面這個選項,說明你沒有安裝"Deploy to container"插件:
    構(gòu)建后操作

    因為需要自動構(gòu)建然后部署到tomcat, 所以要提供擁有足夠權(quán)限的角色(賬號密碼),來操作tomcat部署war包; 進(jìn)入到tomcat的conf文件夾下打開tomcat-user.xml,然后加上角色(username,password可以隨意抵赢,其它的照寫,加到<tomcat-user>標(biāo)簽內(nèi))
    tomcat-user.xml

    另外, tomcat8 (包含) 以上, 還需要修改tomcat下的webapps/manager/META-INF/context.xml文件,如圖:


    webapps/manager/META-INF/context.xml

    然后配置上最后的tomcat,大功告成:
    構(gòu)建后操作

走到這一步,恭喜你,可以把項目構(gòu)建起來,然后碼云push代碼測試一下了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末欺劳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子铅鲤,更是在濱河造成了極大的恐慌划提,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件邢享,死亡現(xiàn)場離奇詭異鹏往,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)骇塘,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門伊履,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人绪爸,你說我怎么就攤上這事湾碎。” “怎么了奠货?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵介褥,是天一觀的道長。 經(jīng)常有香客問我递惋,道長柔滔,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任萍虽,我火速辦了婚禮睛廊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘杉编。我一直安慰自己超全,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布邓馒。 她就那樣靜靜地躺著嘶朱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪光酣。 梳的紋絲不亂的頭發(fā)上疏遏,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼财异。 笑死倘零,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的戳寸。 我是一名探鬼主播呈驶,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼疫鹊!你這毒婦竟也來了俐东?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤订晌,失蹤者是張志新(化名)和其女友劉穎虏辫,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體锈拨,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砌庄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了奕枢。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娄昆。...
    茶點故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖缝彬,靈堂內(nèi)的尸體忽然破棺而出萌焰,到底是詐尸還是另有隱情,我是刑警寧澤谷浅,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布扒俯,位于F島的核電站,受9級特大地震影響一疯,放射性物質(zhì)發(fā)生泄漏撼玄。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一墩邀、第九天 我趴在偏房一處隱蔽的房頂上張望掌猛。 院中可真熱鬧,春花似錦眉睹、人聲如沸荔茬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慕蔚。三九已至,卻和暖如春站削,著一層夾襖步出監(jiān)牢的瞬間坊萝,已是汗流浹背孵稽。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工许起, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留十偶,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓园细,卻偏偏與公主長得像惦积,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子猛频,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容