jenkins+maven+svn實現簡單的一鍵發布


前言

     在安裝之前,我想說明一下本文的目的,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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM