前言
在安裝之前,我想說(shuō)明一下本文的目的,jenkins的一款持續(xù)集成工具,
它可以做的事情很多,其中一個(gè)主要的功能就是簡(jiǎn)化部署流程
回想一下我們的發(fā)布流程:
1.本地把項(xiàng)目打包
2.通過(guò)FTP等工具,傳輸?shù)椒?wù)器
3.關(guān)閉tomcat,把打包的項(xiàng)目放到webapp目錄下
4.啟動(dòng)tomcat
如果每次都這么搞的話,不僅慢,而且容易出錯(cuò)。
有了jenkins以后,發(fā)布流程可以是這樣:
1.用戶在jenkins上點(diǎn)擊某個(gè)按鈕進(jìn)行發(fā)布
2.jenkins收到發(fā)布命令
3.jenkins從SVN上把源代碼download下來(lái)
4.jenkins根據(jù)你設(shè)置的mvn命令進(jìn)行打包
5.jenkins把你打包的好的war工程傳輸?shù)絫omcat的webapps目錄下
6.tomcat啟動(dòng)
對(duì)于程序員而言,只要做兩件事:
1.在jenkins上配置某個(gè)項(xiàng)目的部署流程
2.在jenkins上點(diǎn)擊某個(gè)項(xiàng)目的部署按鈕,進(jìn)行一鍵部署
實(shí)際上,配置往往只做一次,其余的時(shí)候,你只要一鍵部署就可以了
一、安裝jenkins
1.下載JENKINS
首先去jenkins官網(wǎng)下載jenkins,官網(wǎng)有兩個(gè)下載的選擇:
如果是公司使用,建議選擇左邊的。
如果是個(gè)人使用,可以使用右邊的
如果要下載安裝版本,點(diǎn)擊下拉箭頭,windows是exe,linux是rpm包
如果要下載war包,直接點(diǎn)擊,不要點(diǎn)下拉箭頭,我下載的是war包
2.設(shè)置JENKINS_HOME
下載完成以后,最好先設(shè)置JENKINS_HOME;
否則,對(duì)于windows系統(tǒng),會(huì)默認(rèn)裝在C盤(pán)
linux系統(tǒng)不清楚默認(rèn)在哪里
但是你設(shè)置了以后,就會(huì)在你想要的位置,生成jenkins的東西
關(guān)于設(shè)置HOME,跟設(shè)置JAVA_HOME一樣,windows就不說(shuō)了,linux的話,也是跟JAVA一樣,修改/etc/profie文件即可
3.啟動(dòng)JENKINS
使用war包的同學(xué)跟其它工程一樣,放到tomcat下,啟動(dòng)tomcat即可。
使用安裝包的同學(xué),windows下,在服務(wù)中啟動(dòng),跟mysql、oralce服務(wù)的啟動(dòng)是一樣的,linux的同學(xué)自行研究
啟動(dòng)tomcat時(shí)會(huì)報(bào)錯(cuò):
這是因?yàn)閖enkins不知道從什么時(shí)候開(kāi)始,把http訪問(wèn)改成了https,但war包的配置文件卻沒(méi)有改,
不過(guò)這不影響你啟動(dòng)和訪問(wèn),在后面的操作中,我們會(huì)改
4.訪問(wèn)JENKINS
在瀏覽器中輸入http://127.0.0.1:8080/jenkins,就進(jìn)入到j(luò)enkins了,具體ip和端口,根據(jù)你實(shí)際的環(huán)境來(lái)
首先是輸入初始密碼,這個(gè)有提示,跟著提示找到文件,找到密碼,輸入即可
其次就是進(jìn)入插件選擇頁(yè)面:
我選擇了Skip Plugin Installations,我跳過(guò)了插件的初始化,事實(shí)上,我并不想跳過(guò)。
如果不跳過(guò),jenkins是有一個(gè)讓你安裝推薦插件的選項(xiàng)的。
但是因?yàn)閱?dòng)的那個(gè)異常,jenkins把獲取插件的地址從http改成了https,而war包沒(méi)有改
導(dǎo)致你點(diǎn)擊“推薦插件下載”的按鈕時(shí),根本沒(méi)用。
所以只能跳過(guò)了,后面我們可以自己裝插件
接下來(lái)就是創(chuàng)建一個(gè)admin用戶,注意,創(chuàng)建完之后,之前的admin賬號(hào)會(huì)消失,初始密碼的文件也不復(fù)存在了
所以,你這里輸入的用戶名,可以就是 admin
創(chuàng)建完成以后,就完成了Jenkins的安裝和啟動(dòng)
二、安裝插件
1. 修改連接地址
左側(cè)點(diǎn)擊系統(tǒng)管理,右側(cè)選擇管理插件,
選擇“高級(jí)“面板:
拉下來(lái),把http,改成https,點(diǎn)擊“提交”,再點(diǎn)擊“立即獲取”
2.安裝MAVEN插件
為什么要安裝maven插件?你點(diǎn)一下新建,是不是下面這個(gè)圖
如果之前你用過(guò)別人的jenkins的話,舊版的這里是有個(gè)創(chuàng)建maven 2/3項(xiàng)目,這么一個(gè)選項(xiàng)的,新版這里也是能選擇創(chuàng)建maven項(xiàng)目的
你沒(méi)有,是因?yàn)槟銢](méi)有安裝maven插件,所以要安裝maven插件,這樣才能構(gòu)建maven項(xiàng)目
還是,系統(tǒng)管理——插件管理——可選插件
這個(gè)時(shí)候,你應(yīng)該是可以看到可選插件列表了,因?yàn)橹暗牟僮?,我們已?jīng)正確的修改了站點(diǎn)的url
在過(guò)濾中,輸入maven,找到maven integration plugins:
勾選,安裝,等待一些時(shí)間以后,你會(huì)發(fā)現(xiàn)安裝出錯(cuò)了
不要緊,看詳細(xì)信息
大致的意思就是,文件的簽名驗(yàn)證不正確,不管它,注意看這個(gè)紅色的路徑。找到這個(gè)文件,打開(kāi)它
把這個(gè)路徑復(fù)制下來(lái),放到瀏覽器,就可以把這個(gè)插件下載下來(lái)。
我的建議是,在本地建一個(gè)jenkins的關(guān)于maven插件的目錄,把跟maven相關(guān)的插件都放到這個(gè)目錄下
其它幾個(gè)插件也一一找到對(duì)應(yīng)的文件,找到url,下載
然后手動(dòng)上傳插件。上傳插件的在:系統(tǒng)管理——管理插件——高級(jí),你可以看到上傳插件的地方
注意,上傳的順序,要跟報(bào)錯(cuò)的順序一樣,因?yàn)檫@些插件都是有依賴(lài)的先后順序的
不過(guò)即使順序錯(cuò)了也沒(méi)關(guān)系,系統(tǒng)會(huì)提示你的:
安裝完畢以后,你就可以創(chuàng)建maven項(xiàng)目了
3. 安裝SVN插件
安裝SVN插件的方式跟安裝Maven插件的方式是一樣的,SVN插件的名字叫做:Subversion Plug-in
安裝完SVN后,你在新建項(xiàng)目的時(shí)候,源碼管理這里就多出一個(gè)Subversion的選項(xiàng)
4. 安裝Deploy插件
安裝Deploy插件的方式跟安裝Maven插件的方式還是一樣的,Deploy插件的名字叫做:Deploy to container Plugin
安裝完SVN后,你在新建項(xiàng)目的時(shí)候,構(gòu)建后操作這里,下拉選項(xiàng)里會(huì)多出一項(xiàng)Deploy war/ear to a container
三、創(chuàng)建構(gòu)建項(xiàng)目
1. 配置JDK和MAVEN
在創(chuàng)建項(xiàng)目之前,先要配置JDK和Maven
點(diǎn)擊,系統(tǒng)管理——Global Tool Configuration
仿照下面的圖配置就可以
仿照我上面的方式,寫(xiě)入你自己的配置就可以
2. 創(chuàng)建構(gòu)建項(xiàng)目
廢話不多說(shuō)了,仿照我下面的配置就可以了
這里說(shuō)明下,
第一個(gè)是SVN的地址,
第二個(gè)是Credentials,其實(shí)就是你的SVN賬號(hào)和密碼,一開(kāi)始這里肯定是沒(méi)有的,需要你點(diǎn)擊add添加
把你的SVN賬號(hào)和密碼加進(jìn)去就好了
這里需要說(shuō)明下,構(gòu)建后操作,把通過(guò)maven命令打好的war包,copy到tomcat中,
這要求tomcat開(kāi)啟熱部署,說(shuō)白了就是在tomcat的conf目錄下的tomcat-users.xml中加入tomcat的用戶密碼
上面面這段話,你可以完全照抄,當(dāng)然用戶名和密碼根據(jù)你自己的需要來(lái)配置
這里設(shè)置的用戶名和密碼,必須和你填入上面Deploy to cotainer板塊中的Manager user name和password一致
另外,關(guān)于Deploy插件,雖然寫(xiě)著只支持到tomcat7.x,但實(shí)際上,8.x的tomcat它照樣可以支持
3. 開(kāi)始構(gòu)建
至此,一個(gè)構(gòu)建項(xiàng)目創(chuàng)建完畢,趕緊點(diǎn)一下構(gòu)建按鈕試試吧:
變更:上面的方式,最后的部署采用的是tomcat的熱部署,這種方式有一個(gè)極大的弊端,就是發(fā)布多次之后,內(nèi)存會(huì)持續(xù)上漲。
所以這并不是一種好的方式。
一種更加好的方式是使用腳本,將tomcat關(guān)閉,然后把webapps下的舊的部署應(yīng)用刪除,再把新的war包放過(guò)來(lái),然后啟動(dòng)
所以,我們這里需要用到另外一個(gè)插件:PostBuildScript:
只要把你自己寫(xiě)好的shell腳本放進(jìn)來(lái)就可以了。
當(dāng)然這里需要你對(duì)shell編程有一些了解
關(guān)于這個(gè)deploy.sh的實(shí)現(xiàn),大家可以參考這篇文章:http://www./Linux/2016-01/127258.htm
|