1. 程式人生 > >Windows下Jenkins自動拉取編譯SVN專案併發布Tomcat和Jboss

Windows下Jenkins自動拉取編譯SVN專案併發布Tomcat和Jboss

本文主要記錄一些重要的配置,忽略Jenkins的安裝。配置主要分為三個重要部分:

1、外掛配置

           主要涉及3個外掛的安裝。

         Deploy to container Plugin:This plugin takes a war/ear file and deploys that to a running remote application server at the end of a build。主要是用來發布打包後的war檔案到容器。running remote application server意味著該伺服器需要是執行狀態的。該外掛支援的版本如下:

          Tomcat 4.x/5.x/6.x/7.x

          JBoss 3.x/4.x

          Glassfish 2.x/3.x

         注意:關於選用Jboss作為伺服器來發布專案,如果選用高於4.X的版本,可能回出現Failed to create deployer ...(container [id=[jboss7.x]],deployer type[romate])的問題,可能是版本問題,但是不知為何該外掛的container列表裡面有jboss7的選項。

         Maven Integration plugin:主要支援Maven,Maven專案需要

         Subversion Plug-in:支援SVN,從SVN上拉取程式碼

         Jboss外掛的安裝位置如下圖,系統管理--》外掛管理:

2、2、全域性工具配置

         配置位置:系統管理--》全域性工具配置

         主要配置了2個工具:

         1、JAVA

         2、Maven

         配置很簡單,不勾選自動安裝,選自你本地的工具路徑即可,注:環境變數要配置

         配置如下圖所示:

3、檢視配置

          檢視的配置有很多,其中重要的部分如下:

       1、General

            丟棄舊的構建:一種構建規則

            

      2、原始碼管理

          Repository URL:SVN的專案地址 (必填)

          Credentials:SVN的使用者名稱密碼 (必填)

          Repository depth: Jenkins在執行checkout、update程式碼時,所取出的程式碼的範圍。預設我們選擇infinity就可以

       Quiet check-out:Use 'svn update' whenever possible, making the build faster. But this causes the artifacts from the previous build to remain when a new build starts.

          

      3、構建觸發器

         Build whenever a SNAPSHOT dependency is built :依賴於快照構建,當專案修改後構建

         GitHub hook trigger for GITScm polling:通過Github鉤子觸發

         其他工程構建後觸發:當本job依賴的job,被build時,執行本job

         定時構建:定時構建專案

         輪詢 SCM:輪詢構建專案 Schedule的配置規則是有5個空格隔開的字元組成,從左到右分別代表:分 時 天 月 年。*代表所有 

                

      4、Build and Post Steps

               Root POM:編譯的POM根檔案 (Maven專案必須)

               Goals and options:打包的一些引數 (看實際情況)

               Run only if build succeeds:編譯成功後執行指令碼 (一般勾選這個)

               Run only if build succeeds or is unstable:只有在構建成功或不穩定時才執行指令碼

               Run regardless of build result:不管構建結果如何執行指令碼

                

          5、構建後操作

               WAR/EAR files:構建後war包存放在Jenkins的相對路徑(必填)

               Context path:專案釋出後的虛擬路徑,此路徑會發布到容器中(必填)

               Containers:釋出的容器,tomcat就選tomcat,jboss就選jboss,兩者的配置沒什麼大的區別

               Credentials是容器訪問的使用者名稱和密碼(沒有設定就會用預設使用者密碼登陸)

               URL是訪問容器的根路徑(必填)

              

最後,可以在檢視的選單欄可以點選立即構建,並檢視構建的log日誌。

因為Deploy to container Plugin支援的伺服器的版本受限,在使用高版本伺服器的時候,該外掛並不能正常支援釋出。

因此,在Jnekins生成wa'r包之後,我們可以執行批命令來自動釋出。

windows下發布bat命令如下(其實就是把wa'r包從jenkins拷貝過來):

net stop  JBossWebServer
           del   "E:\work\soft\worksoft\jboss\jboss-eap-7.1\standalone\deployments\riw.war"
           echo  "執行命令 del E:\work\soft\worksoft\jboss\jboss-eap-7.1\standalone\deployments\riw.war"
           rd /s/q "E:\work\soft\worksoft\jboss\jboss-eap-7.1\standalone\deployments\riw"
           echo  "執行命令 rd /s/q E:\work\soft\worksoft\jboss\jboss-eap-7.1\standalone\deployments\riw"
         copy /y "C:\Users\hejun\.jenkins\workspace\RIW_JBOSS2\target\riw.war" "E:\work\soft\worksoft\jboss\jboss-eap-             7.1\standalone\deployments\"
           net start  JBossWebServer

這樣就可以了。