婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Jenkins+tomcat自動發布的熱部署/重啟及遇到的問題解決辦法(推薦)

Jenkins+tomcat自動發布的熱部署/重啟及遇到的問題解決辦法(推薦)

熱門標簽:400電話辦理哪家好廠商 工廠位置地圖標注 企業400電話辦理哪正規 繽客網注冊時地圖標注出不來 地圖標注需要現場嗎 地圖標注企業名稱侵權案件 重慶營銷外呼系統排名 鶴壁電銷外呼系統怎么安裝 網站上插入地圖標注內容

一.背景

  公司的項目一直手動maven打包、上傳服務器、關閉/開啟tomcat,整個流程下來耗時耗力,雖然可以將所有流程通過shell腳本一次性解決,但如果可以通過idea的Jenkins插件一鍵自動部署,那更省時省力。

  下面是一個簡單的發布tomcat的shell腳本,執行下面腳本的前提是要在服務器中安裝了git、maven

# 先關閉tomcat進程
kill -9 `ps aux|grep tomcat|grep -v 'grep'| awk 'NR==1{print $2}'`
# 切換到項目存放位置
cd nxyyProjectSource/NXYY
# git拉取最新代碼
git pull xxxx
# 切換到項目下面的代碼存放位置
cd nxyy
# maven打包
mvn clean
mvn install -DskipTests
# 將war包放到tomcat下
cd
cp nxyyProjectSource/NXYY/nxyy/target/nxyy.war /home/tomcat/webapps
# 開啟tomcat
cd /home/tomcat/bin
./startup.sh
# 查看日志
tail -f ../logs/catalina.out

  每次git拉取時,都需要密碼,進行下面的配置后,只需要在第一次輸入密碼后會永久保存到服務器中,下次再git拷貝/拉取時就不需要輸入密碼了:

git config --global credential.helper store

  如果想清除賬號和密碼,輸入:

git config --global credential.helper reset

  如果想臨時存儲(默認15分鐘),輸入:

git config --global credential.helper cache

  單獨對某個項目免密,在https鏈接里加入username:password

git remote add origin https://username:password@xxx.git

  上面這些配置保存在.git/config里。

二.Jenkins的安裝/配置/熱部署/腳本tomcat重啟

下載安裝包jenkins.war;在安裝包根路徑下,運行命令java -jar jenkins.war --httpPort=8080(linux環境、Windows環境都一樣),運行后有一個密碼,需要登錄時使用:

打開瀏覽器進入鏈接http://ip:8080,進入插件安裝選擇,這里建議選擇,推薦安裝的插件,保證基本常用的功能可以使用;選擇后,進入插件安裝頁面,有些插件安裝失敗,可以點擊到后面的再次安裝:

設置初始用戶和密碼,為下次登錄時使用:

進入系統,安裝完成:

注意,如果還是進入不了系統,需要稍等一下,或者刷新頁面,如果還是進入不了,需要重新啟動jenkinds服務器,在啟動首頁url后面加上restart就可以了【重啟:http://ip:8080/restart】;如果輸入默認密碼之后,一直卡住問題:

在$JENKINS_HOME/hudson.model.UpdateCenter.xml文件中,默認內容如下:

<?xml version='1.0' encoding='UTF-8'?>
 <sites>
 <site>
 <id>default</id>
 <url>http://updates.jenkins-ci.org/update-center.json</url>
 </site>
</sites>

這個地址在外國的服務器,因為墻的原因,下載初始化界面所需插件不了,就一直處于等待狀態,把url改為http://mirror.xmission.com/jenkins/updates/update-center.json就解決了進行系統系統配置設置Jenkins的訪問路徑,當然,這個路徑在創建用戶名之后會出現:

設置插件安裝源:插件管理 -> 高級,http://mirror.xmission.com/jenkins/updates/current/update-center.json

進行系統管理的全局工具配置,maven、JDK、Git的配置:

配置完后進行項目的搭建,選擇新建任務:

在進行項目信息配置前,需要一些憑證Credentials信息,比如git的用戶名和密碼、tomcat用戶的用戶名和密碼:系統管理 -> 憑據(Manage Credentials)

需要tomcat的用戶名和密碼,是為了讓Jenkins可以遠程發布tomcat,在tomcat的conf下tomcat-users.xml里面配置的:tomcat遠程發布需要修改tomcat-users.xml、context.xml(下文構建遇到的坑第5點)、manager.xml(下文構建遇到的坑第6點

<tomcat-users xmlns="http://tomcat.apache.org/xml"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"

    version="1.0">

 <role rolename="manager-gui"/>
 <role rolename="manager-script"/>
 <role rolename="manager-jmx"/>
 <role rolename="manager-status"/>
 <role rolename="admin-gui"/>
 <user username="用戶名" password="密碼" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui"/>
</tomcat-users>

進行項目信息的配置,在配置完進行構建,tomcat必須在服務器中是啟動狀態:

上面是tomcat熱部署,下面進行tomcat的重啟執行項目:先安裝插件Publish Over SSH,進行信息配置:系統管理 -> 信息配置 ->Publish over SSH

構建的配置前需要創建一個重啟tomcat的腳本:vi tomcat.sh,然后賦予執行權限chmod 777 tomcat.sh

#這里需要加上JAVA_HOME的配置,雖然在本地的環境變量中已經配置了,但是遠程調用的時候,還是需要配上的,否則執行腳本出錯。
export JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
# tomcat的位置
tomcat_home=/home/tomcat-dev
#【3.1】 停止tomcat變量
SHUTDOWN=$tomcat_home/bin/shutdown.sh
#【3.2】 啟動tomcat變量
STARTTOMCAT=$tomcat_home/bin/startup.sh
#【3.3】 刪除所有項目文件包括war包和war解壓后的文件 如果是局部發布這句不需要 這只是正對jenkins整個war發布
rm -rf /home/tomcat-dev/webapps/TSISAPP*

#得到進程ID 這里也可以簡寫 如果你ps -ef|grep 項目名稱 可以帶出PID 那么可以直接寫成這樣
#之前為什么寫那么長 是因為在用jenkins調用腳本的時候,也會帶出jenkins調用腳本的那個進程 這樣kill -9 就會killjenkins進程 導致一建發布中斷
#所以這里一直寫到了conf文件夾目錄
#如果不需要用到jenkins可以用下面簡潔版 得出PID命令
#PID=`ps -ef |grep 項目名稱  |grep -v grep | awk '{print $2}'`
#【3.4】 獲取進程ID
PID=`ps -ef |grep /home/tomcat-dev/conf |grep -v grep | awk '{print $2}'`
if [ ! "$PID" ];then # 這里判斷TOMCAT進程是否存在
    echo "進程不存在"
else
    echo "進程存在 殺死進程PID:$PID"
    kill -9 $PID
fi

#【3.5】啟動項目
$STARTTOMCAT  
echo "啟動項目"

構建:Post Steps選擇Send files or execute commands over SSH,下面的構建后操作 -> Deploy war/ear to a container 就不需要了:

三.構建遇到的坑

如果沒有構建一個maven項目,在插件中查找后進行安裝:Maven Integration plugin

在構建后如果沒有Deploy war/ear to a container,在插件中查找后進行安裝:Deploy to container Plugin

出現下面的錯誤:

[ERROR] No goals have been specified for this build. You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>. Available lifecycle phases are: validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy, pre-clean, clean, post-clean, pre-site, site, post-site, site-deploy. -> [Help 1]

解決辦法:在pom.xml的<build>標簽中添加<defaultGoal>install</defaultGoal>

出現下面的錯誤:org.codehaus.cargo.container.ContainerException: Failed to deploy 或org.codehaus.cargo.container.ContainerException: The [cargo.remote.username] and [cargo.remote.password] properties are mandatory and need to be defined in your configuration

解決辦法:在pom.xml的<build>標簽中的<plugins>中添加

<plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.4.9</version>
    <configuration>
     <container>
      <!-- 容器版本名稱-->
      <containerId>Tomcat 9.x</containerId>
      <type>remote</type>
     </container>
     <configuration>
      <type>runtime</type>
      <properties>
       <!-- tomcat管理界面-->
       <cargo.remote.uri>http://ip:8888/manager/text</cargo.remote.uri>
       <!-- tomcat管理界面用戶名和密碼-->
       <cargo.remote.username>用戶名</cargo.remote.username>
       <cargo.remote.password>密碼</cargo.remote.password>
      </properties>
     </configuration>
    </configuration>
   </plugin>

出現下面的問題:Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: The username you provided is not allowed to use the text-based Tomcat Manager
解決辦法:到tomcat的 /webapps/manager/META_INF/context.xml文件,將文件中對訪問的來源受限設置注釋

<Context antiResourceLocking="false" privileged="true" >
<!--
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
   allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
--> //注釋掉即可
 <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>

tomcat遠程連接出現403拒絕,在conf/Catalina/localhost下添加manager.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context privileged="true" antiResourceLocking="false"
   docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

idea結合Jenkins插件進行遠程發布,在Crumb Data通過http://ip:8080/crumbIssuer/api/xml?tree=crumb#獲取填入時,出現CSRF enabled -> Missing or bad crumb data

通過搜索網上解決方案,大多都是說開啟CSRF服務,

但還是無法解決該問題,解決辦法:點擊用戶名 -> 設置 -> API Token -> 當前 Token,通過token名生成token,代替上面的用戶名和密碼,最后終于成功了

 

到此這篇關于Jenkins+tomcat自動發布的熱部署/重啟及遇到的問題解決辦法(推薦)的文章就介紹到這了,更多相關Jenkins tomcat 熱部署內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:96 棗莊 常州 日照 克拉瑪依 東莞 渭南 鹽城

巨人網絡通訊聲明:本文標題《Jenkins+tomcat自動發布的熱部署/重啟及遇到的問題解決辦法(推薦)》,本文關鍵詞  Jenkins+tomcat,自動,發布,的,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Jenkins+tomcat自動發布的熱部署/重啟及遇到的問題解決辦法(推薦)》相關的同類信息!
  • 本頁收集關于Jenkins+tomcat自動發布的熱部署/重啟及遇到的問題解決辦法(推薦)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色哟哟在线观看一区二区三区| 懂色av中文一区二区三区| 欧美国产在线观看| 日韩电影一区二区三区| 91麻豆6部合集magnet| 国产精品麻豆99久久久久久| 国内偷窥港台综合视频在线播放| 7777精品伊人久久久大香线蕉的 | 91视频你懂的| 中文字幕乱码日本亚洲一区二区| 久久99久久99| 久久久不卡网国产精品二区| 国产综合色产在线精品| 国产蜜臀av在线一区二区三区| 国产专区欧美精品| 亚洲国产精品激情在线观看 | 国产精品动漫网站| 91成人网在线| 日韩电影一区二区三区| 国产欧美1区2区3区| 日本韩国欧美在线| 日韩精品成人一区二区在线| 久久久综合激的五月天| 99re在线精品| 国精产品一区一区三区mba视频| 亚洲日本在线视频观看| 精品国产欧美一区二区| 97精品超碰一区二区三区| 免费观看91视频大全| 亚洲黄色免费网站| 国产精品乱码人人做人人爱 | 欧美在线免费播放| 国产精品综合一区二区| 亚洲高清免费在线| 一区二区三区四区五区视频在线观看 | 精品99久久久久久| 在线观看视频一区二区| voyeur盗摄精品| 国产精品嫩草影院av蜜臀| 亚洲欧美一区二区久久 | 亚洲国产综合视频在线观看| 欧美日韩一二三| 国产精品自拍av| 国产美女主播视频一区| 日本不卡视频在线| 久久精品国产**网站演员| 久久99深爱久久99精品| 精品在线观看视频| 奇米一区二区三区| 蜜臀av一区二区在线观看| 久久99日本精品| 国产成人亚洲精品青草天美| 国产精品一区不卡| 92精品国产成人观看免费| 欧美在线视频不卡| 日韩精品一区二区三区在线播放| 欧美一区二区三区在线视频| 日韩精品专区在线影院重磅| 久久精品日韩一区二区三区| 国产精品美日韩| 首页国产欧美久久| 丁香婷婷综合激情五月色| 欧美日韩国产一级二级| 国产色一区二区| 亚洲综合色区另类av| 婷婷国产在线综合| 色综合天天综合给合国产| 久久国产福利国产秒拍| 国产69精品久久久久777| 91蜜桃婷婷狠狠久久综合9色| 欧美午夜不卡在线观看免费| 日韩视频一区在线观看| 国产精品美女久久久久av爽李琼 | 日韩理论在线观看| 激情都市一区二区| 色88888久久久久久影院野外 | 日精品一区二区三区| 粉嫩av一区二区三区| 日韩精品影音先锋| 日本伊人午夜精品| 欧美日韩成人在线| 亚洲午夜精品网| 一本色道久久综合亚洲aⅴ蜜桃| 在线播放一区二区三区| 亚洲精品乱码久久久久久| 91精品国产乱| 亚洲欧洲国产日本综合| 国产乱码精品一区二区三区忘忧草| 欧美视频中文一区二区三区在线观看 | 91精品国产欧美一区二区18| 一区二区三区四区在线播放| 91蝌蚪国产九色| 亚洲欧洲精品天堂一级| av动漫一区二区| 一区二区中文字幕在线| 成人免费高清在线观看| 国产日韩欧美麻豆| 一本大道久久精品懂色aⅴ| 成人免费在线视频| 色视频欧美一区二区三区| 亚洲午夜电影在线观看| 欧美一二三区精品| 国产99久久久国产精品免费看| 国产精品久久久久9999吃药| 91精彩视频在线观看| 在线播放日韩导航| 青青青伊人色综合久久| 精品国产第一区二区三区观看体验| 狠狠久久亚洲欧美| 亚洲在线观看免费| 亚洲国产精品av| 日韩欧美你懂的| 91免费版在线看| 国产真实精品久久二三区| 亚洲欧美另类久久久精品2019| 欧美日韩免费不卡视频一区二区三区 | 日本欧美大码aⅴ在线播放| 中文字幕中文字幕在线一区| 欧美一区二区久久| 91老师片黄在线观看| 国产一区二区三区在线观看免费视频 | 国产拍欧美日韩视频二区| 欧美日本在线一区| av网站一区二区三区| 久久精品久久99精品久久| 一区二区三区四区亚洲| 中文字幕欧美三区| 国产三级精品三级在线专区| 欧美tickling网站挠脚心| 欧美日韩高清一区二区三区| 色天天综合久久久久综合片| 亚洲日本一区二区三区| av不卡免费在线观看| 国产91在线观看丝袜| 丁香婷婷综合激情五月色| 国产精品99久久久久久有的能看| 另类调教123区| 国产麻豆91精品| 国产成人免费在线视频| 国产激情一区二区三区| 国产精品资源网| 成人爱爱电影网址| av在线播放不卡| 欧美亚洲一区二区在线| 欧美在线观看禁18| 欧美日韩高清不卡| 精品日韩在线观看| 国产精品一区二区在线播放| 国产中文字幕一区| 成人高清伦理免费影院在线观看| 色狠狠av一区二区三区| 91超碰这里只有精品国产| 久久午夜羞羞影院免费观看| 国产精品国产a| 午夜精品福利在线| 国产成人免费在线视频| 欧美电影一区二区三区| 国产亚洲精品久| 人人精品人人爱| 欧亚一区二区三区| 26uuu欧美日本| 美腿丝袜亚洲三区| 精品视频一区三区九区| 国产精品毛片无遮挡高清| 青青青伊人色综合久久| 91福利小视频| 亚洲图片激情小说| 国产精品99久| 欧美xfplay| 蜜臀久久99精品久久久画质超高清 | 蜜臀va亚洲va欧美va天堂 | 国产日韩av一区二区| 男人的天堂亚洲一区| 在线播放中文一区| 五月婷婷另类国产| 欧美精品乱码久久久久久| 午夜久久福利影院| 欧美美女激情18p| 蜜芽一区二区三区| 久久综合中文字幕| 国产精品自拍网站| 中文字幕在线观看一区二区| 岛国一区二区三区| 亚洲日本在线看| 欧美另类z0zxhd电影| 精品一区二区三区蜜桃| 91国产丝袜在线播放| 色88888久久久久久影院野外| 中文字幕成人av| 欧美亚洲综合久久| 久久国产视频网| 中文字幕一区二区三区在线播放| www.99精品| 日韩精品一区二区三区在线播放| 亚洲成人激情av| 日韩久久久精品| av中文字幕一区| 国产中文字幕一区| 亚洲午夜在线观看视频在线| 精品成人a区在线观看|