日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Jenkins deploy to container部署war到tomcat(学习笔记十六)

發布時間:2025/3/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Jenkins deploy to container部署war到tomcat(学习笔记十六) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/**

* lihaibo

* 文章內容都是根據自己工作情況實踐得出。

*如有錯誤,請指正

* 版權聲明:本博客歡迎轉發,但請保留原作者信息!

http://www.cnblogs.com/horizonli/p/5407551.html

本博客已經添加"打賞"功能,"打賞"位置位于右邊欄紅色框中,感謝您的贊助.

*/

一、deploy插件

在jenkins中發布application到遠端有很多方法,除了publish over ssh外還有個插件deploy.hpi也可以實現。


?? 插件下載地址:

鏈接: http://pan.baidu.com/s/1pLotSmR 密碼: jzud

插件安裝方法:? 點擊:Jenkins(三)---Jenkins初始配置和插件配置

或手動轉到 http://www.cnblogs.com/horizonli/p/5331970.html

二、配置 啟用插件前需要對遠程端的容器進行環境初始化(這里以tomcat為例)

?1.tomcat能正常啟動

?2.tomcat能在web界面使用用戶登錄到app? manager

? 1)配置增加tomcat用戶:


? 2)添加用戶和角色


?3)登錄tomcat manager


登錄后如果能看到下面的界面表示配置正確

三、使用deploy插件發布war包到遠程容器(這里以tomcat為例)

在系統設置中配置maven/jdk/git? 可以參考:Jenkins(三)---Jenkins初始配置和插件配置?(除去七 SSH這一節 )

啟動插件


打開之后填寫

這里單獨說下war包的路徑和界面:

在后臺看是這樣的:

從前臺看這樣的:

界面地址:

這個地址就是用設置的用戶和密碼登錄后的界面地址如下圖:

四、利用deploy插件發布application到遠程主機

?? 1.首先確保遠程主機上的tomcat能正常啟動并能使用用戶登錄到application管理界面

?? 2.再進行構建操作

?? 3.如下圖所示構建成功

INFO] Building war: /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war

[INFO] WEB-INF/web.xml already added, skipping

[INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESS

[INFO] ------------------------------------------------------------------------[INFO] Total time:6.782 s

[INFO] Finished at: 2016-04-19T14:06:53+08:00[INFO] Final Memory: 27M/438M

[INFO] ------------------------------------------------------------------------[JENKINS] Archiving /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/pom.xml to com.eliteams/quick4j/1.0.0/quick4j-1.0.0.pom

[JENKINS] Archiving /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war to com.eliteams/quick4j/1.0.0/quick4j-1.0.0.war

channel stopped

Deploying /opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war to container Tomcat6.x Remote

? [/opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war] is not deployed. Doing a fresh deployment.

? Deploying [/opt/jenkins_tomcat6/jobs/quick4j_demo/workspace/target/quick4j.war]

Finished: SUCCESS

?? 4.測試是否發布成功

??? 4.1檢查tomcat manager頁面


?? 4.2web界面查看


====================================================================================

遇到的問題總結:

?問題一:部署app的時候,tomcat出現“403/401 for URL: http://172.16.18.192:8090/manager/text/list” 和The username you provided is not allowed to use the text-based Tomcat Manager (error 403)

??? 問題點: tomcat用戶配置文件

??? 解決方案:檢查用戶名和密碼是否正確? 是否添加了用戶角色和權限.

?問題二(最常見):部署完app后會出現內存溢出"java.lang.OutOfMemoryError: PermGen space"

??? 問題點:tomcat的虛擬機內存不足,需要設置更大的內存

??? 解決方案:1.找到tomcat路徑,用編輯器打開catalina.sh,在“echo "Using CATALINA_BASE:??? $CATALINA_BASE"”上面加入以下行:

??????????? JAVA_OPTS="-server -XX:PermSize=64M -XX:MaxPermSize=128m

???????????????? 2.用腳本重啟tomcat服務器,再部署。

???????????????? 重啟tomcat示例腳本:


#!/bin/bash

#Time

log_time=`date+[%Y-%m-%d]%H:%M:%S`

###manual_properties###

tomcat_basehome=/opt/tomcat6/apache-tomcat-6.0.45tomcat_port=9090shell_environment=/bin/bash

war_Dir=/opt/jenkins

war_Name=quick4j.war

###manual_properties###

#update server environmentecho"**********************************? ${log_time} *************************************"echo"updating server? environment start"export JAVA_HOME=/app/java/jdk1.8.0_11

export JRE_HOME=/app/java/jdk1.8.0_11/jre

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar/export CATALINA_2_HOME=/opt/tomcat6/apache-tomcat-6.0.45export CATALINA_2_BASE=/opt/tomcat6/apache-tomcat-6.0.45export TOMCAT_2_HOME=/opt/tomcat6/apache-tomcat-6.0.45sleep3echo"updating server? environment? end"#build check funcationecho"check tomcat status..."check_tomcat_status(){

? ? ? netstat -ant|grep ${tomcat_port}

? ? ? t=$?if[ $t -eq0];thenecho"tomcat is running....port is ${tomcat_port}"echo"shutdown tomcat....."echo">>>>>>>shutdown tomcat begin<<<<<<<<"? ? ? ? ? ? ${shell_environment} ${tomcat_basehome}/bin/shutdown.shecho">>>>>>>shutdown tomcat end <<<<<<<<"sleep5elif[ $t -ne0];thenecho"tomcat is poweroff"? ? ? ? ? ? ? ${shell_environment} ${tomcat_basehome}/bin/shutdown.shsleep5fi}

#check tomcat status invoke functioncheck_tomcat_status

#transfer? application package

deploy_Loaction=${tomcat_basehome}/webapps/war_Dir_Data=`ls ${war_Dir}`echo"start? transfer? war package to tomcat webapps ......."if[ -z $war_Dir ];thenecho"Folder ${war_Dir} is empty.please check war package in this folder!"? ? exit 1elseecho"Find ${war_Dir} exist war package ${war_Name}"? ? # echo"deleteing old? package ${war_Name} in ${war_Dir}"? ? # rm${war_Dir}/${war_Name}

? ? echo"deleteing old? package ${war_Name} in ${deploy_Loaction}"rm ${deploy_Loaction}${war_Name}

? ? echo"start? transfer ${war_Name} to ${deploy_Loaction}"cp${war_Dir}/${war_Name}? ${deploy_Loaction}

? ? sleep3fi#reboot tomcat echo" >>>>>>>? rebooting? tomcat begin <<<<<<<<"${shell_environment} ${tomcat_basehome}/bin/startup.shecho" >>>>>>>? rebooting? tomcat end <<<<<<<<"echo"the log you can read in canalina.out"echo"************************ deploy war package into container Successlly? **********************************"

?問題三:遇到“Connection refused”的異常

??? 問題點:tomcat

??? 解決方案:請檢查遠程機的容器是否啟動、端口是否設置正常,不同的容器配置方式不一樣,請參考相應容器的配置文檔

?問題四:遇到“Deployed application at context path /xxx but context failed to start”

??? 問題點:tomcat

??? 解決方案:到遠程機的WEB容器下查看日志


問題總結部分參考:http://blog.csdn.net/houyefeng/article/details/50996198

總結

以上是生活随笔為你收集整理的Jenkins deploy to container部署war到tomcat(学习笔记十六)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。