Jenkins軟件開發(fā)持續(xù)集成及自動構(gòu)建

1.jenkins簡介

1.1.什么是敏捷開發(fā)

敏捷開發(fā)以用戶的需求進(jìn)化為核心,采用迭代舔痕、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)扫倡。在敏捷開發(fā)中,軟件項目在構(gòu)建初期被切分成多個子項目藤巢,各個子項目的成果都經(jīng)過測試搞莺,具備可視、可集成和可運行使用的特征掂咒。換言之才沧,就是把一個大項目分為多個相互聯(lián)系,但也可獨立運行的小項目俏扩,并分別完成糜工,在此過程中軟件一直處于可使用狀態(tài)。

1.2.什么是持續(xù)集成(CI)

因為開發(fā)部門同時維護多個版本录淡,多個版本的發(fā)布捌木,測試需要大量人力,所以要有一個專業(yè)的持續(xù)集成工具來管理持續(xù)重復(fù)的工作嫉戚。

image

1.3.什么是tomcat熱部署

  1. 熱部署是指在你修改項目BUG的時候?qū)SP或JAVA類進(jìn)行了修改在不重啟WEB服務(wù)器前提下能讓修改生效刨裆。但是對配置文件的修改除外。

  2. 配置tomcat用戶名密碼彬檀,修改tomcat 配置文件tomcat-users.xml

| <role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="chenjian" password="tiger" roles="manager-gui, manager-script"/> |

  1. 以maven項目實現(xiàn)tomcat熱部署

A. 在pom.xml文件中加入下面的配置

| <plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://192.168.153.160:8080/manager/text</url> #遠(yuǎn)程tomcat地址
<path>/aaa</path>#構(gòu)建的項目名稱帆啃,war包名稱
<server>tomcat</server>#制定web服務(wù)器類型為tomcat
<username>chenjian</username>#tomcat用戶名
<password>tiger</password>#tomcat密碼
</configuration>
</plugin> |

B. 在pom文件上右鍵單擊

image

C. 輸入下面的構(gòu)建參數(shù),詳細(xì)請參考maven配置窍帝。單機運行努潘,開始build,

image

D. 出現(xiàn)下面信息坤学,說明項目構(gòu)建成功疯坤。

image

E. 檢查tomcat熱部署結(jié)果,可以發(fā)現(xiàn)最新的工程已經(jīng)正常構(gòu)建并發(fā)布到192.168.153.160的tomcat中深浮。

image

1.4.什么是jenkins

  1. Jenkins是一個持續(xù)集成CI工具压怠。它可以持續(xù)編譯,運行你的代碼飞苇;運行UT或集成測試菌瘫;將運行結(jié)果發(fā)送至郵件蜗顽,或展示成報告。

  2. Jenkins起源于Hudson雨让。Hudson在商業(yè)軟件的路上繼續(xù)前行雇盖,而Jenkins則作為開源軟件,從hudson分支出來宫患。 因此現(xiàn)在的jenkins和hudson非常類似刊懈,但是隨著二者各自的發(fā)展这弧,已經(jīng)有了一些不同娃闲。

1.5.安裝配置jekins(linux)

  1. 下載jenkins的war包

官網(wǎng)下載地址:https://jenkins.io/index.html

image
  1. linux服務(wù)器環(huán)境準(zhǔn)備

a) 在服務(wù)器192.168.153.161上安裝jdk,tomcat匾浪,并配置環(huán)境變量

image

b) 在服務(wù)器192.168.153.161上安裝svn皇帮。

yum -y install svn

image

c) 在服務(wù)器192.168.153.161上安裝maven,并配置環(huán)境變量蛋辈。

maven的安裝和在windows上安裝配置相同属拾,在此不過多解釋。

image
  1. 將下載好的jenkins war包上傳至服務(wù)器192.168.153.161的tomcat webapps目錄下冷溶。打開瀏覽器如果出現(xiàn)下面老人頭像說明jenkins啟動成功渐白。
image
  1. 初始化配置jenkins
image
  1. 配置jdk
image
image
  1. 配置maven
image

1.6.創(chuàng)建jenkins任務(wù)

image
  1. 創(chuàng)建第一個jenkins任務(wù)
image
  1. 項目名稱和描述
image
image
  1. 源碼管理,配置svn服務(wù)器地址

問題一:

image
image

問題二:

修改主機名為ip(svn服務(wù)器的ip地址)之后逞频,查看jenkins的日志纯衍,發(fā)現(xiàn)下面的錯誤,原因是svn服務(wù)器需要用戶名和密碼的認(rèn)證苗胀。點擊"enter credential"鏈接輸入svn帳號密碼即可襟诸。

image
image
image
  1. 添加maven構(gòu)建參數(shù),然后保存基协。返回到主頁歌亲。
image

1.7.運行jenkins任務(wù)。

jenkins任務(wù)開始前澜驮,修改代碼并提交svn庫陷揪。

image

開始運行,單機綠色的開始按鈕如下圖:

image

左下角顯示構(gòu)建狀態(tài)

image

點擊任務(wù)名稱杂穷,進(jìn)入任務(wù)詳情頁面悍缠,注意:第一次構(gòu)建需要下載很多maven插件和依賴包,大概需要5分鐘左右亭畜。

image
image

返回首頁扮休,可以發(fā)現(xiàn)任務(wù)狀態(tài)顯示成功!

image

檢查目標(biāo)tomcat狀態(tài)拴鸵。正常g枳埂N仙Α!

image

1.8.jenkins定時任務(wù)

作為項目經(jīng)理八堡,有些時候為了配合自動化測試樟凄,需要在夜間或者其他指定時間定期發(fā)布測試物,如果靠人工來完成的話兄渺,非常的耗時耗力攒盈,jenkins提供了定時執(zhí)行任務(wù)的功能悯蝉。

image

下面定義每天晚上23點50分執(zhí)行任務(wù),滿足無人值守自動構(gòu)建項目。

image

時間格式的詳細(xì)說明:

image

a) 分鐘驼侠,取值范圍(0~59):若其他值不做設(shè)定输吏,則表示每個設(shè)定的分鐘都會構(gòu)建 如:5 * * * * 澳腹,表示每個小時的第5分鐘都會構(gòu)建一次

b) 小時椭蹄,取值范圍(0~23):若其他值不做設(shè)定,則表示每個設(shè)定小時的每分鐘都會構(gòu)建 如:* 5 * * * 妄田,表示在每天5點的時候俺亮,一小時內(nèi)每一分鐘都會構(gòu)建一次

c) 日期,取值范圍(1~31):若其他值不做設(shè)定疟呐,則表示每個月的那一天每分鐘都會構(gòu)建一次 如:* * 5 * *脚曾,表示在每個月5號的時候,0點開始每分鐘構(gòu)建一次

d) 月份启具,取值范圍(1~12):若其他值不做設(shè)定本讥,則表示每年的那個月每分鐘都會構(gòu)建一次 如:* * * 5 *,表示在每年的5月份富纸,1號0點開始每分鐘構(gòu)建一次

e) 星期囤踩,取值范圍(0 ~ 7):若其他值不做設(shè)定,則表示每周的那一天幾每分鐘都會構(gòu)建一次 如:* * * * 5晓褪,表示每周五0點開始每分鐘構(gòu)建一次

1.9.jenkins執(zhí)行shell腳本

如果想在jenkins任務(wù)開始創(chuàng)建之前執(zhí)行某個shell 腳本堵漱,jenkins提供下面的功能

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市涣仿,隨后出現(xiàn)的幾起案子勤庐,更是在濱河造成了極大的恐慌,老刑警劉巖好港,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愉镰,死亡現(xiàn)場離奇詭異,居然都是意外死亡钧汹,警方通過查閱死者的電腦和手機丈探,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拔莱,“玉大人碗降,你說我怎么就攤上這事隘竭。” “怎么了讼渊?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵动看,是天一觀的道長。 經(jīng)常有香客問我爪幻,道長菱皆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任挨稿,我火速辦了婚禮仇轻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘叶组。我一直安慰自己拯田,他們只是感情好历造,可當(dāng)我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布甩十。 她就那樣靜靜地躺著,像睡著了一般吭产。 火紅的嫁衣襯著肌膚如雪侣监。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天臣淤,我揣著相機與錄音橄霉,去河邊找鬼。 笑死邑蒋,一個胖子當(dāng)著我的面吹牛姓蜂,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播医吊,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼钱慢,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了卿堂?” 一聲冷哼從身側(cè)響起束莫,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎草描,沒想到半個月后览绿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡穗慕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年饿敲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逛绵。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡怀各,死狀恐怖栗竖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渠啤,我是刑警寧澤狐肢,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站沥曹,受9級特大地震影響份名,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妓美,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一僵腺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壶栋,春花似錦辰如、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至毙玻,卻和暖如春豌蟋,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背桑滩。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工梧疲, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人运准。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓幌氮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親胁澳。 傳聞我的和親對象是個殘疾皇子该互,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,446評論 2 359

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