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ù)的工作嫉戚。
1.3.什么是tomcat熱部署
熱部署是指在你修改項目BUG的時候?qū)SP或JAVA類進(jìn)行了修改在不重啟WEB服務(wù)器前提下能讓修改生效刨裆。但是對配置文件的修改除外。
配置tomcat用戶名密碼彬檀,修改tomcat 配置文件tomcat-users.xml
| <role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="chenjian" password="tiger" roles="manager-gui, manager-script"/> |
- 以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文件上右鍵單擊
C. 輸入下面的構(gòu)建參數(shù),詳細(xì)請參考maven配置窍帝。單機運行努潘,開始build,
D. 出現(xiàn)下面信息坤学,說明項目構(gòu)建成功疯坤。
E. 檢查tomcat熱部署結(jié)果,可以發(fā)現(xiàn)最新的工程已經(jīng)正常構(gòu)建并發(fā)布到192.168.153.160的tomcat中深浮。
1.4.什么是jenkins
Jenkins是一個持續(xù)集成CI工具压怠。它可以持續(xù)編譯,運行你的代碼飞苇;運行UT或集成測試菌瘫;將運行結(jié)果發(fā)送至郵件蜗顽,或展示成報告。
Jenkins起源于Hudson雨让。Hudson在商業(yè)軟件的路上繼續(xù)前行雇盖,而Jenkins則作為開源軟件,從hudson分支出來宫患。 因此現(xiàn)在的jenkins和hudson非常類似刊懈,但是隨著二者各自的發(fā)展这弧,已經(jīng)有了一些不同娃闲。
1.5.安裝配置jekins(linux)
- 下載jenkins的war包
官網(wǎng)下載地址:https://jenkins.io/index.html
- linux服務(wù)器環(huán)境準(zhǔn)備
a) 在服務(wù)器192.168.153.161上安裝jdk,tomcat匾浪,并配置環(huán)境變量
b) 在服務(wù)器192.168.153.161上安裝svn皇帮。
yum -y install svn
c) 在服務(wù)器192.168.153.161上安裝maven,并配置環(huán)境變量蛋辈。
maven的安裝和在windows上安裝配置相同属拾,在此不過多解釋。
- 將下載好的jenkins war包上傳至服務(wù)器192.168.153.161的tomcat webapps目錄下冷溶。打開瀏覽器如果出現(xiàn)下面老人頭像說明jenkins啟動成功渐白。
- 初始化配置jenkins
- 配置jdk
- 配置maven
1.6.創(chuàng)建jenkins任務(wù)
- 創(chuàng)建第一個jenkins任務(wù)
- 項目名稱和描述
- 源碼管理,配置svn服務(wù)器地址
問題一:
問題二:
修改主機名為ip(svn服務(wù)器的ip地址)之后逞频,查看jenkins的日志纯衍,發(fā)現(xiàn)下面的錯誤,原因是svn服務(wù)器需要用戶名和密碼的認(rèn)證苗胀。點擊"enter credential"鏈接輸入svn帳號密碼即可襟诸。
- 添加maven構(gòu)建參數(shù),然后保存基协。返回到主頁歌亲。
1.7.運行jenkins任務(wù)。
jenkins任務(wù)開始前澜驮,修改代碼并提交svn庫陷揪。
開始運行,單機綠色的開始按鈕如下圖:
左下角顯示構(gòu)建狀態(tài)
點擊任務(wù)名稱杂穷,進(jìn)入任務(wù)詳情頁面悍缠,注意:第一次構(gòu)建需要下載很多maven插件和依賴包,大概需要5分鐘左右亭畜。
返回首頁扮休,可以發(fā)現(xiàn)任務(wù)狀態(tài)顯示成功!
檢查目標(biāo)tomcat狀態(tài)拴鸵。正常g枳埂N仙Α!
1.8.jenkins定時任務(wù)
作為項目經(jīng)理八堡,有些時候為了配合自動化測試樟凄,需要在夜間或者其他指定時間定期發(fā)布測試物,如果靠人工來完成的話兄渺,非常的耗時耗力攒盈,jenkins提供了定時執(zhí)行任務(wù)的功能悯蝉。
下面定義每天晚上23點50分執(zhí)行任務(wù),滿足無人值守自動構(gòu)建項目。
時間格式的詳細(xì)說明:
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提供下面的功能