Jenkins將專案釋出到Tomcat
1. 操作環境
1. Windows:
- win10
2. Jenkins
- Jenkins 2.75
3. Java
- JDK_1.8.0_64bit.exe
4. Tomcat
- apache-tomcat-9.0.0.M1
5. Maven
- apache-maven-3.5.0
2. 設定位置
本文以在遠端Win7虛擬機器的Tomcat中釋出project-parent測試專案為例來進行說明。
在Jenkins的主頁面中,點選測試專案【project-parent】
在【project-parent】頁面,點選圖示的【配置】按鈕
在【配置】頁面,將該頁面下拉到最低端,找到“構建後操作”,點選“增加構建後操作步驟”下拉列表框
在彈出的下拉列表框中選擇【Deploy war/ear to a container】選項
在這裡就可以設定我們所要連線的遠端Tomcat伺服器了。
3. 設定
1. Jenkins專案配置Tomcat
在圖示的頁面中,點選【AddContainer】下拉列表框
在彈出的下拉列表框中選擇【Tomcat 8.x】,儘管說此次我們所連線的Tomcat版本號為apache-tomcat-9.0.0.M1,但是實測標明,選擇Tomcat 8.x也是可以的。
在圖示的“WAR/EAR files”中填寫“*/.war”,在“Credentials”中選擇我們的遠端Tomcat的使用者名稱與密碼,如果這裡沒有的話,那就自己手動去填寫,新增示例可以參考這裡:
在“Tomcat URL”中我們填寫遠端的Tomcat的URL地址,填寫完之後,點選【儲存】按鈕,儲存當前配置資訊。
2. Tomcat新增使用者
如果沒有配置Tomcat使用者的話(預設的Tomcat均沒有配置),其配置的方式是這樣的,在Tomcat的根目錄下找到conf資料夾,在該資料夾下有tomcat-users.xml配置檔案,在該檔案中新增下面的語句:
<role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="root" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
填寫完之後,儲存該配置檔案,重啟Tomcat使配置檔案生效。
4. 測試
1. 測試Tomcat
在瀏覽器中輸入配置的Tomcat的訪問地址,在這裡,我們輸入的是:
http://192.168.152.142:8080/
訪問的頁面如下所示,在該頁面中點選【manager webapp】按鈕進入Tomcat登入介面
其登入介面如下所示,輸入使用者名稱,密碼,點選確認,如果Tomcat使用者配置成功的話,我們將進入登入後的使用者頁面中檢視專案的釋出情況。
當我們看到Tomcat的專案釋出情況時,這就說明我們的Tomcat現在已經配置成功了。
2. 測試Jenkins專案
在“project-parent”頁面點選【立即構建】按鈕
當專案構建成功後,登入Tomcat,檢視現在的專案部署情況,當我們找到project-web時,這就說明我們的專案已經發布成功了。
雖然說釋出的名稱名為project-web,但是由於專案屬於maven專案,在專案中只有含有web的模組才能被打成war包進行釋出,所以說釋出的專案名稱會有些變化,這是很正常的一種現象,其中project-parent的專案結構如下:
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.project</groupId>
<artifactId>project-parent</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>project-api</module>
<module>project-service</module>
<module>project-mapper</module>
<module>project-web</module>
<module>project-controller</module>
</modules>
我們可以在瀏覽器中訪問該專案,訪問的地址為:
http://192.168.152.142:8080/project-web/
當看到“Hello World!”資訊時,說明此事我們在Jenkins中的配置是成功的,此時project-parent已經被成功的釋出到了Tomcat中。