Jenkins環(huán)境搭建及使用

關(guān)鍵詞:

Jenkinssvn自動化持續(xù)集成

摘要:

Jenkins页藻,之前叫做Hudson旧乞,是基于Java開發(fā)的一種持續(xù)集成工具吊洼,用于監(jiān)控秩序重復(fù)的工作,包括:

1灌危、持續(xù)的軟件版本發(fā)布/測試項目康二。

2、監(jiān)控外部調(diào)用執(zhí)行的工作勇蝙。

案例描述

針對我們公司項目是迭代開發(fā)模式沫勿,所以有引入自動化的需求,對于自動化的管理味混,用持續(xù)集成工具再好不過了产雹,先分享出jenkins的使用方法和大家一起學(xué)習(xí)。

1案例分析

引入jenkins的優(yōu)點:

開源免費翁锡;

跨平臺蔓挖,支持所有的平臺;

master/slave支持分布式的build馆衔;

web形式的可視化的管理頁面瘟判;

安裝配置超級簡單;

tips及時快速的幫助角溃;

已有的1000多個插件拷获;

可管理性強。

2解決過程

2.1jenkins安裝(ubuntu)

Jenkins支持的系統(tǒng)有很多:

Windows减细、Ubuntu/Debian匆瓜、Red Hat/Fedora/CentOS、Mac OS X、openSUSE驮吱、FreeBSD茧妒、OpenBSD、Solaris/OpenIndiana糠馆、Gentoo嘶伟。

介紹下基于Debian的Ubuntu系統(tǒng)安裝方法:

‘添加軟件包的庫用于安裝和更新jenkins怎憋,需要下載jenkins-ci.org.key文件又碌,把下載的key添加到本地trusted數(shù)據(jù)庫中。

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

‘將echo deb

http://pkg.jenkins-ci.org/debian binary/添加到/etc/apt/sources.list.d/jenkins.list中绊袋。

sudo sh -c 'echodeb http://pkg.jenkins-ci.org/debian binary/ >/etc/apt/sources.list.d/jenkins.list'

‘更新源

sudo apt-getupdate

‘安裝jenkins

sudo apt-getinstall jenkins

安裝好后使用firefox打開“http://hostname:8080”訪問安裝好的jenkins毕匀。

jenkins

2.2jenkins使用

2.2.1構(gòu)建任務(wù):

需求:構(gòu)建從svn服務(wù)器中定時更新selenium+jruby項目,并執(zhí)行自動執(zhí)行項目工程癌别,返回測試結(jié)果皂岔。

在首頁上點擊“新Job”

新建job

輸入“任務(wù)名稱”如:test

以下5個選項可以根據(jù)項目需要選擇,如“構(gòu)建一個自由風(fēng)格軟件項目”展姐,然后點擊OK躁垛!

配置SVN

配置SVN

1.輸入SVN的URL

2.首次連接會失敗這時你需要點擊enter_credential,進入

svn認證

配置完成后并保存圾笨,構(gòu)建任務(wù)將不會有無法連接SVN的提示教馆。

3.check-out

Strategy選擇svn update

構(gòu)建觸發(fā)器


構(gòu)建觸發(fā)器

jenkins的構(gòu)建觸發(fā)中Poll SCM和Build periodically的區(qū)別

Poll SCM:定時檢查源碼變更(根據(jù)SCM軟件的版本號),如果有更新就checkout最新code下來擂达,然后執(zhí)行構(gòu)建動作土铺。如:

*/5 * * * *(每5分鐘檢查一次源碼變化)

Build periodically:周期進行項目構(gòu)建(它不關(guān)心源碼是否發(fā)生變化),如:

0 2 * * *(每天2:00必須build一次源碼)

PS:點擊日程表后面的問號板鬓,里面會介紹每個星號代表的參數(shù)以及使用方法悲敷。

設(shè)置“構(gòu)建”中的構(gòu)建步驟:

構(gòu)建步驟

增加一條基于shell的命令,選擇Execute shell

在Command中輸入:

pwd------------------------(查看當(dāng)前運行路勁)

ruby test.rb-----------------(test.rb是SVN服務(wù)器上checkout下來的文件)

最后保存這個構(gòu)建:

保存好的構(gòu)建就會定時運行項目了俭令。

運行后我們可以查看運行日志:

運行日志

查看項目趨勢圖:


項目趨勢圖

2.2.2Jenkins的Slave配置

構(gòu)建對個slave服務(wù)器后德,用于實現(xiàn)分布式管理:

基于windows的slave配置

進入http://hostname:8080/computer/下(也可以通過主界面的“系統(tǒng)管理”->“管理節(jié)點”進入)“新建節(jié)點”

新建節(jié)點

配置Name如:windows server(沒多大要求)

Of executors推薦設(shè)置為1

remote FS root指向需要關(guān)聯(lián)到的目標(biāo)windows的文件路徑(必須是存在的)。

用法選擇“只允許運行綁定到這臺機器的Job”

Launch method“Launch slave agents via Java Web

Start”

Availability選擇“Keep this slave on-line as much as possible”

點擊保存抄腔,重新進入到http://hostname:8080/computer/點擊剛剛創(chuàng)建的windows server進入到

launch

點擊黃色按鍵瓢湃,直到彈出

connectd

表示成功

成功后的圖

此時系統(tǒng)的狀態(tài)也被顯示了出來。

基于linux的slave配置

進入http://hostname:8080/computer/下(也可以通過主界面的“系統(tǒng)管理”->“管理節(jié)點”進入)“新建節(jié)點”

新建節(jié)點

配置Name如:linux server(沒多大要求)

Of executors推薦設(shè)置為1

remote FS root指向需要關(guān)聯(lián)到的目標(biāo)windows的文件路徑(必須是存在的)

用法選擇“只允許運行綁定到這臺機器的Job”

Launch method選擇“Launch slave agent in Unix

machines via SSH”

Host填寫目標(biāo)地址

Credentials首次設(shè)置此項時妓柜,點擊右邊的問號按鈕

add some

會有提示內(nèi)容出現(xiàn)箱季,再點擊提示內(nèi)容中的“add some”頁面將會跳轉(zhuǎn)到

manage credentials

我們使用的是SSH

username with password的證書。

填寫該linux系統(tǒng)的用戶名和密碼(此用戶名的權(quán)限必須具備remote FS root指向的文件的讀寫和執(zhí)行的權(quán)限)保存

Availability選擇“Keep this slave on-line as much as possible”

點擊保存棍掐。

然后lunch slave藏雏,使得master和slave通過ssh成功連接。其實launch的時候jenkins自動地從http://yourserver:port/jnlpJars/slave.jar拷貝slave.jar到slave,然后運行通過命令java -jar slave.jar來運行slave掘殴。

以下為成功連接后的界面:

gui

在jenkins上使用slave赚瘦,只需要在slave的配置上將labels的名稱寫到j(luò)obs的Restrict where this project can be

run中即可。

2.2.3Jenkins的授權(quán)和訪問控制

默認的Jenkins不包含任何的安全檢查奏寨,任何人可以修改Jenkins設(shè)置起意,job和啟動build等。對于多部門協(xié)調(diào)工作的公司顯然不合適病瞳,沒有任何安全檢查會給我們的工作帶來很多問題揽咕。

我們可以通過以下2方面來增強Jenkins的安全性:

進入http://hostname:8080/manage

點擊Configure

Global Security,進入配置界面

配置頁

勾選“啟用安全”套菜,詳細配置如下:

詳細配置

首次設(shè)置一定要“允許用戶注冊”和“任何用戶可以做任何事(沒有任何限制)”

設(shè)置好之后亲善,重新進入http://hostname:8080,通過界面注冊用戶(需要幾個注冊幾個)

登錄后重新進入Configure

Global Security逗柴,進入配置界面

全局配置

去除“允許用戶注冊”阻止任何用戶注冊

授權(quán)策略選擇“安全矩陣”蛹头,便可以對不同的用戶設(shè)置不同的權(quán)限了。

3? 解決結(jié)果

以上介紹了一些常用的功能戏溺,還有jenkins支持的眾多插件沒介紹渣蜗,以及更多的運用場景沒介紹,希望有興趣的同學(xué)可以自行研究旷祸。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末耕拷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子肋僧,更是在濱河造成了極大的恐慌斑胜,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,496評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件嫌吠,死亡現(xiàn)場離奇詭異止潘,居然都是意外死亡,警方通過查閱死者的電腦和手機辫诅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,407評論 3 392
  • 文/潘曉璐 我一進店門凭戴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人炕矮,你說我怎么就攤上這事么夫。” “怎么了肤视?”我有些...
    開封第一講書人閱讀 162,632評論 0 353
  • 文/不壞的土叔 我叫張陵档痪,是天一觀的道長。 經(jīng)常有香客問我邢滑,道長腐螟,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,180評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮乐纸,結(jié)果婚禮上衬廷,老公的妹妹穿的比我還像新娘。我一直安慰自己汽绢,他們只是感情好吗跋,可當(dāng)我...
    茶點故事閱讀 67,198評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著宁昭,像睡著了一般跌宛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上久窟,一...
    開封第一講書人閱讀 51,165評論 1 299
  • 那天秩冈,我揣著相機與錄音,去河邊找鬼斥扛。 笑死,一個胖子當(dāng)著我的面吹牛丹锹,可吹牛的內(nèi)容都是我干的稀颁。 我是一名探鬼主播,決...
    沈念sama閱讀 40,052評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼楣黍,長吁一口氣:“原來是場噩夢啊……” “哼匾灶!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起租漂,我...
    開封第一講書人閱讀 38,910評論 0 274
  • 序言:老撾萬榮一對情侶失蹤阶女,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后哩治,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秃踩,經(jīng)...
    沈念sama閱讀 45,324評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,542評論 2 332
  • 正文 我和宋清朗相戀三年业筏,在試婚紗的時候發(fā)現(xiàn)自己被綠了憔杨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,711評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒜胖,死狀恐怖消别,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情台谢,我是刑警寧澤寻狂,帶...
    沈念sama閱讀 35,424評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站朋沮,受9級特大地震影響蛇券,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,017評論 3 326
  • 文/蒙蒙 一怀读、第九天 我趴在偏房一處隱蔽的房頂上張望诉位。 院中可真熱鬧,春花似錦菜枷、人聲如沸苍糠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,668評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽岳瞭。三九已至,卻和暖如春蚊锹,著一層夾襖步出監(jiān)牢的瞬間瞳筏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,823評論 1 269
  • 我被黑心中介騙來泰國打工牡昆, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留姚炕,地道東北人。 一個月前我還...
    沈念sama閱讀 47,722評論 2 368
  • 正文 我出身青樓丢烘,卻偏偏與公主長得像柱宦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子播瞳,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,611評論 2 353

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