前言
在安裝之前,我想說明一下本文的目的,jenkins的一款持續集成工具,
它可以做的事情很多,其中一個主要的功能就是簡化部署流程
回想一下我們的發布流程:
1.本地把項目打包
2.通過FTP等工具,傳輸到服務器
3.關閉tomcat,把打包的項目放到webapp目錄下
4.啟動tomcat
如果每次都這么搞的話,不僅慢,而且容易出錯。
有了jenkins以后,發布流程可以是這樣:
1.用戶在jenkins上點擊某個按鈕進行發布
2.jenkins收到發布命令
3.jenkins從SVN上把源代碼download下來
4.jenkins根據你設置的mvn命令進行打包
5.jenkins把你打包的好的war工程傳輸到tomcat的webapps目錄下
6.tomcat啟動
對於程序員而言,只要做兩件事:
1.在jenkins上配置某個項目的部署流程
2.在jenkins上點擊某個項目的部署按鈕,進行一鍵部署
實際上,配置往往只做一次,其余的時候,你只要一鍵部署就可以了
一、安裝jenkins
1.下載JENKINS
首先去jenkins官網下載jenkins,官網有兩個下載的選擇:
如果是公司使用,建議選擇左邊的。
如果是個人使用,可以使用右邊的
如果要下載安裝版本,點擊下拉箭頭,windows是exe,linux是rpm包
如果要下載war包,直接點擊,不要點下拉箭頭,我下載的是war包

2.設置JENKINS_HOME
下載完成以后,最好先設置JENKINS_HOME;
否則,對於windows系統,會默認裝在C盤
linux系統不清楚默認在哪里
但是你設置了以后,就會在你想要的位置,生成jenkins的東西
關於設置HOME,跟設置JAVA_HOME一樣,windows就不說了,linux的話,也是跟JAVA一樣,修改/etc/profie文件即可
3.啟動JENKINS
使用war包的同學跟其它工程一樣,放到tomcat下,啟動tomcat即可。
使用安裝包的同學,windows下,在服務中啟動,跟mysql、oralce服務的啟動是一樣的,linux的同學自行研究
啟動tomcat時會報錯:

這是因為jenkins不知道從什么時候開始,把http訪問改成了https,但war包的配置文件卻沒有改,
不過這不影響你啟動和訪問,
在后面的操作中,我們會改
4 .訪問JENKINS
在瀏覽器中輸入http://127.0.0.1:8080/jenkins,就進入到jenkins了,具體ip和端口,根據你實際的環境來
首先是輸入初始密碼,這個有提示,跟着提示找到文件,找到密碼,輸入即可
其次就是進入插件選擇頁面:

我選擇了Skip Plugin Installations,我跳過了插件的初始化,事實上,我並不想跳過。
如果不跳過,jenkins是有一個讓你安裝推薦插件的選項的。
但是因為啟動的那個異常,jenkins把獲取插件的地址從http改成了https,而war包沒有改
導致你點擊“推薦插件下載”的按鈕時,根本沒用。
所以只能跳過了,后面我們可以自己裝插件
接下來就是創建一個admin用戶,注意,創建完之后,之前的admin帳號會消失,初始密碼的文件也不復存在了
所以,你這里輸入的用戶名,可以就是 admin
創建完成以后,就完成了Jenkins的安裝和啟動
二、安裝插件
1. 修改連接地址
左側點擊系統管理,右側選擇管理插件,

選擇“高級“面板:

拉下來,把http,改成https,點擊“提交”,再點擊“立即獲取”

2.安裝MAVEN插件
為什么要安裝maven插件?你點一下新建,是不是下面這個圖

如果之前你用過別人的jenkins的話,舊版的這里是有個創建maven 2/3項目,這么一個選項的,新版這里也是能選擇創建maven項目的
你沒有,是因為你沒有安裝maven插件,所以要安裝maven插件,這樣才能構建maven項目
還是,系統管理——插件管理——可選插件
這個時候,你應該是可以看到可選插件列表了,因為之前的操作,我們已經正確的修改了站點的url
在過濾中,輸入maven,找到maven integration plugins:

勾選,安裝,等待一些時間以后,你會發現安裝出錯了

不要緊,看詳細信息

大致的意思就是,文件的簽名驗證不正確,不管它,注意看這個紅色的路徑。找到這個文件,打開它

我的建議是,在本地建一個jenkins的關於maven插件的目錄,把跟maven相關的插件都放到這個目錄下

其它幾個插件也一一找到對應的文件,找到url,下載
然后手動上傳插件。上傳插件的在:系統管理——管理插件——高級,你可以看到上傳插件的地方

注意,上傳的順序,要跟報錯的順序一樣,因為這些插件都是有依賴的先后順序的
不過即使順序錯了也沒關系,系統會提示你的:

安裝完畢以后,你就可以創建maven項目了

3. 安裝SVN插件
安裝SVN插件的方式跟安裝Maven插件的方式是一樣的,SVN插件的名字叫做:Subversion Plug-in
安裝完SVN后,你在新建項目的時候,源碼管理這里就多出一個Subversion的選項

4. 安裝Deploy插件
安裝Deploy插件的方式跟安裝Maven插件的方式還是一樣的,Deploy插件的名字叫做:Deploy to container Plugin
安裝完SVN后,你在新建項目的時候,構建后操作這里,下拉選項里會多出一項Deploy war/ear to a container
安裝完SVN后,你在新建項目的時候,構建后操作這里,下拉選項里會多出一項Deploy war/ear to a container

三、創建構建項目
1. 配置JDK和MAVEN
在創建項目之前,先要配置JDK和Maven
點擊,系統管理——Global Tool Configuration

仿照下面的圖配置就可以


仿照我上面的方式,寫入你自己的配置就可以
2
. 創建構建項目
廢話不多說了,仿照我下面的配置就可以了


這里說明下,
第一個是SVN的地址,
第二個是Credentials,其實就是你的SVN帳號和密碼,
一開始這里肯定是沒有的,需要你點擊add添加

把你的SVN帳號和密碼加進去就好了






這里需要說明下,構建后操作,把通過maven命令打好的war包,copy到tomcat中,
這要求tomcat開啟熱部署,說白了就是在tomcat的conf目錄下的tomcat-users.xml中加入tomcat的用戶密碼

上面面這段話,你可以完全照抄,當然用戶名和密碼根據你自己的需要來配置
這里設置的用戶名和密碼,必須和你填入上面Deploy to cotainer板塊中的Manager user name和password一致
另外,關於Deploy插件,雖然寫着只支持到tomcat7.x,但實際上,8.x的tomcat它照樣可以支持
3 . 開始構建
至此,一個構建項目創建完畢,趕緊點一下構建按鈕試試吧:


變更:上面的方式,最后的部署采用的是tomcat的熱部署,這種方式有一個極大的弊端,就是發布多次之后,內存會持續上漲。
所以這並不是一種好的方式。
一種更加好的方式是使用腳本,將tomcat關閉,然后把webapps下的舊的部署應用刪除,再把新的war包放過來,然后啟動
所以,我們這里需要用到另外一個插件:PostBuildScript:

只要把你自己寫好的shell腳本放進來就可以了。
當然這里需要你對shell編程有一些了解
關於這個deploy.sh的實現,大家可以參考這篇文章:http://www.linuxidc.com/Linux/2016-01/127258.htm