1. 程式人生 > >Jenkins+Maven+SVN快速搭建持續集成環境

Jenkins+Maven+SVN快速搭建持續集成環境

div 安裝包 鏈接 url 地址 9.1 但是 ati glassfish

Jenkins+Maven+SVN快速搭建持續集成環境

http://www.cnblogs.com/sunzhenchao/archive/2013/01/30/2883289.html http://blog.csdn.net/pein_zero/article/details/52597615

前言

在安裝之前,我想說明一下本文的目的,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 技術分享圖片 三、創建構建項目 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

===============================俺是分割線=====================================

一、安裝Jenkins

地址http://mirrors.jenkins-ci.org/下載適合的Jenkins版本。

Windows最新穩定版的Jenkins地址為:http://mirrors.jenkins-ci.org/windows-stable/jenkins-1.409.1.zip

https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+as+a+Windows+service

把Jenkins 1.409.1版解壓,把得到的war包直接扔到tomcat下,啟動tomcat,Jenkins就安裝完畢,是不是很簡單啊。

二、配置Jenkins

1、打開http://10.3.15.78:8080/jenkins/,第一次進入裏面沒有數據,我們需要創建job,我們這有2個項目,需要創建2個job。http://10.3.34.163:9890/jenkins/

2、點擊左上角的new job,在new job頁面需要選擇job的類型,Jenkins支持幾種類型,我們選擇“構建一個maven2/3項目”,Job名為:guan_caijing,如圖所示:

技術分享圖片

3、點擊OK按鈕後,進會進入詳細配置界面,詳細配置界面的配置項很多,不過不用怕,大部分使用默認配置就可以了,下面就說說我們需要修改的幾個地方:

3.1)Source Code Management

因為我們使用SVN管理源碼,所以這裏選擇Subversion,並在Repository URL中輸入我們的SVN地址:

http://10.3.34.163:9880/guan_caijing/trunk/

輸入SVN庫的URL地址後,Jenkins會自動驗證地址,並給予提示。

技術分享圖片

點擊紅色字體部分的enter credential鏈接,進入如下頁面:

技術分享圖片

設置好訪問SVN庫的用戶名和密碼後,點擊OK按鈕,顯示:

技術分享圖片

說明設置成功。點擊Close按鈕,返回之前的Source Code Management頁面。此時不再有紅色警告信息了。

技術分享圖片

3.2)配置自動構建的計劃,假設我們想讓項目中每天12點和晚上8點自動構建一次,只需要在Build Triggers中選擇Build periodically,並在Schedule中輸入 0 12,20 * * *

我配置的是每晚8點自動構建

技術分享圖片

註:Schedule的配置規則是有5個空格隔開的字符組成,從左到右分別代表:分 年。*代表所有,0 12,20 * * * 表示“在任何年任何月任何天的12和20點0分”進行構建。

3.3)配置到這裏,可能有人發現在Build配置節點,有紅色錯誤信息,提示

Jenkins needs to know where your Maven2 is installed. Please do so from the system configuration.

如圖所示:

技術分享圖片

這是因為Jenkins找不到maven的原因,點擊"system configuration",是system configuration的maven配置中添加maven目錄就OK,如下圖:

技術分享圖片

我設置了JRE 6和MAVEN 3的安裝目錄。

點擊左下角的SAVE按鈕,保存設置。

3.4)保存好所有配置後,我們第1個job就算是完成了。

3.5)創建第2個job,配置和上面的配置相同。只需把svn地址改成:http://localhost/svn/Web

三、手動構建

在經過上面的配置後,回到Jenkins首頁,在首頁可以看到剛才添加的2個job,如下圖:

技術分享圖片

點擊某1個job後後面的"Schedule a build"圖片手動構建,點擊完後,會在左邊的Build Queue或者Build Executor Status 顯示正在構建的任務,在自動構建完後,刷新頁面,就可以看到構建結果了,如何某個項目構建失敗,點擊項目後面的構建數字(從1開始遞增)進入項目的"Console Output "可以查看項目構建失敗的原因。當然我們也可以配置把構建失敗的結果發到郵箱。

到目前為止,1個簡單的自動構建環境就搭建好了,很簡單吧。

四、自動部署

看完上面發現Jenkins配置真的很簡單,幾分鐘就搭建好自動構建環境,但環境搭建好後發現1個問題,現在是能自動構建了,但是構建好的web.war都還是在Jenkins目錄下,並沒有發布到tomcat中,還需要手動copy過去?

這是個問題,不過別急,要達到自動部署的目的,需要安裝1個Jenkins的部署插件。選擇“系統管理”菜單的“管理插件”:

技術分享圖片

選擇“可選插件”,找到Deploy Plugin 1.8插件,選擇它。

技術分享圖片

註:Deploy Plugin 1.8插件支持Tomcat 4.x/5.x/6.x/7.x ,JBoss 3.x/4.x ,Glassfish 2.x/3.x

點擊底部的“安裝”按鈕,顯示:

技術分享圖片

耐心等待:

技術分享圖片

直到Deploy Plugin完成,顯示Success:

技術分享圖片

選擇框打鉤,Jenkins會自動重啟:

技術分享圖片

此時,在插件管理的“已安裝”Tab頁,可以看到部署插件已安裝完畢。

技術分享圖片

重新進入web的configure 配置界面,在最下面會發現多處1個配置項,我們配置如下:

技術分享圖片

註:war file使用的是Jenkinsworkspace的相對目錄,hudon默認的目錄在:

C:\Documents and Settings\用戶名\.Jenkins\

workspace目錄:C:\Documents and Settings\用戶名\.Jenkins\ jobs\web\workspace\

最終產生的war在:C:\Documents and Settings\用戶名\.Jenkins\ jobs\web\workspace\Web\target\web.war

保存配置再重新構建一次,打開tomcat的webapps目錄,發現web.war終於過來了,大功告成。

Jenkins+Maven+SVN快速搭建持續集成環境