1. 程式人生 > >tomcat的war包手工部署和自動部署Windows8

tomcat的war包手工部署和自動部署Windows8

tomcat的war包手工部署和自動部署

tomcat的安裝大家自行參考上一篇blog,這裡講直接講解tomcat手工和自動部署war包(都是通熟易懂的語言)

一、tomcat手工部署

手工部署:在tomcat啟動時部署

1、直接拷貝war包到tomcat

①直接拷貝war包到tomcat的C:\Tomcat-7.0.59\webapps資料夾下(tomcat的安裝路徑)

②然後啟動tomcat(啟動路徑一般是tomcat的bin目錄下面的startup.bat)C:\Tomcat-7.0.59\bin\startup.bat

③啟動過程中在C:\Tomcat-7.0.59\webapps自動解壓war包並生成一個和war名一樣的資料夾,資料夾內是解壓內容

④在瀏覽器輸入localhost:8080/專案名稱/index.jsp時,如果出現該Web專案的login介面時,則表明war包已成功地部署到tomcat伺服器上,並可成功訪問了。

2、直接拷貝war解壓的內容到tomcat

①首先解壓war包(無論在什麼地方解壓)

②在C:\Tomcat-7.0.59\webapps資料夾下建立和專案名稱一樣的資料夾,將war包解壓的內容放到C:\Tomcat-7.0.59\webapps\專案名稱\   資料夾下

③再啟動tomcat(啟動路徑一般是tomcat的bin目錄下面的startup.bat)C:\Tomcat-7.0.59\bin\startup.bat

④啟動完成後,在瀏覽器輸入localhost:8080/專案名稱/index.jsp時,如果出現該Web專案的login介面時,則表明war包已成功地部署到tomcat伺服器上,並可成功訪問了。

二、tomcat自動部署

這裡講的自動部署主要配置檔案修改和批處理指令碼的編寫(是脫離Jenkins自動編譯部署,後面會有blog專門講Jenkins的自動編譯和部署)

自動部署:在tomcat執行時部署

  動態部署需要一個配置引數,就是下面提到的 autoDeploy 為 true

  當設定了該屬性後,tomcat會在其執行時支援如下的操作:(綠色內容為網上借鑑,僅供大家參考)

   部署新拷貝到appBase下的war檔案(一般的專案不建議直接部署war包,因為很多專案都需要修改一些配置檔案,在war包中修改配置檔案較為麻煩)

   部署拷貝到appBase下的展開的應用(未壓縮的)

   當提供一個更新的war包時,重新部署應用。會先刪除當前存在的應用,再進行解壓部署。

   當/WEB-INF/web.xml被改寫時,自動部署

   當web應用的context.xml上下文描述符被更新時,自動部署

   當CATALINA_HOME/conf下對應的應用的上下文描述符被更新時,自動部署

   當對應的docBase文件被刪除時,自動部署。

  設定了以上的內容後(以上都是tomcat預設的配置,不需要做任何改動),當啟動tomcat時,就會自動部署在appBase目錄下的應用。

  並會按照下面的順序進行部署:

  1 部署上下文描述符。

  2 部署展開的應用。如果部署目錄中存在相應的war包,則檢查是否比當前的應用更新;如果更新,則刪除當前的應用,並解壓該war包,得到最新的應用。

  3 部署war包。

1、配置檔案的修改

①修改C:\Tomcat-7.0.59\conf\server.xml,找到<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">,保證autoDeploy="true",

       appBase指定了部署的目錄;

  autoDeploy設定是否自動部署;

  unpackWARs設定了部署的形式,如果為true,則會以展開的形式部署;如果為false,則會以war包的形式部署。

2、自動部署第一種方法:批處理指令碼的編寫

首頁你需要花時間學習一下批處理指令碼的基本語法(很容易上手),還需要確保你的jdk安裝正確

①這裡假設你已經打好了war包如:WB-1.0.1-Snapshot.war 存放在C:\Users\J\.jenkins\workspace\test\WB\target\ 資料夾下,這時候需要將war包解壓的內容複製到C:\Tomcat-7.0.59\webapps\專案名稱\ 資料夾下

新建一個txt檔案,儲存為:auto_deploy.bat(這裡我們的專案名稱就稱為:WB)

auto_deploy.bat指令碼的內容為:

echo 備份應用(備份是部署人員最起碼的東西的) if exist C:\backups\WB rd C:\backups\WB /q /s xcopy C:\tomcat\webapps\WB\*.*  C:\backups\WB\ /y /s /e /i echo  新建一個C:\source資料夾,C:\Users\J\.jenkins\workspace\test\WB\target\WB-1.0.1-Snapshot.war 複製到C:\source資料夾,並修改war包的名字
cd C:\source if exist C:\source\WB.war del C:\source\WB.war /q copy C:\Users\J\.jenkins\workspace\test\WB\target\WB-1.0.1-Snapshot.war C:\source\WB.war if not exist WB md WB cd C:\source\WB echo 解壓開始 jar -xvf C:\source\WB.war

echo 複製C:\source\WB\目錄下的內容到C:\Tomcat-7.0.59\webapps\WB\目錄下
xcopy C:\source\Website\*.* C:\tomcat\webapps\WB\  /y /s /e /i 若是不存在配置檔案修改等,使用上面的指令碼就可以實現自動化部署,是不是感覺很麻煩,其實用Jenkins很容易實現上面的操作,而且只要輕輕一點就可以了,但是還是要一步一步來,因為Jenkins也是要配合指令碼使用使用的

②點選auto_deploy.bat執行,war的內容就自動複製到C:\Tomcat-7.0.59\webapps\專案名稱\ 下了,tomcat就會自動部署

3、自動部署第二種方法:利用控制檯進行部署

假設你已經打好了war包如:WB-1.0.1-Snapshot.war 存放在C:\Users\J\.jenkins\workspace\test\WB\target\ 資料夾下

①瀏覽器開啟tomcat:http://localhost:8080

②進 入tomcat的manager控制檯的deploy區域

③在Context path中鍵入"XXX"(可任意取名)如:/WB   (會在C:\Tomcat-7.0.59\webapps目錄下建立一個WB資料夾)

④在WAR or Directory URL:鍵入C:\source\WB.war (這個輸入war包地址)——點選deploy按鈕。

⑤在C:\Tomcat-7.0.59\webapps路徑下將會自動出現一個名為XXX的資料夾,其內容即是WB.war解壓的內容,只是名字是XXX而已(這就是前面在Context path鍵入XXX的結果)。

Tomcat的自動部署。如何WB專案裡面的配置檔案不需要做改動的話,這種方法可能更實用一些