1. 程式人生 > >jenkins自動部署到tomcat/weblogic

jenkins自動部署到tomcat/weblogic

轉載自:http://blog.csdn.net/minebk/article/details/72763859

記錄初衷:

由於每次專案部署非常痛苦,很麻煩,遂使用jenkins來部署專案,只需點選即可,但是網上不論是百度還是google關於jenkins整合weblogic部署專案的資料非常少,至少通過我的搜尋沒有找到一篇非常完整的,所以以次來記錄,給大家提供一點參考。(此次記錄包含了整合weblogic和tomcat)


整合過程:

Jenkins搭建環境

CentOS6.5(系統環境)

JDK6u45(由於系統用的是weblogic10.3.5只能用JDK6了,官方提供了升級JDK7的方法,先不折騰了)

SVN

Jenkins-1.596.3(貌似是JDK6u45能支援到的最高版本,有興趣的可以繼續升級試試)

Tomcat7.x(隨便一個版本即可)

Weblogic10.3.5(坑爹的版本,跟weblogic整合各種坑)

       Maven3.2.5(JDK6u45最高支援到該版本,否則就得升級為JDK7.x)

Ant1.9.7(這個好像沒啥要求,主要用來編譯打包非Maven專案,非Maven專案的Ant編譯也有問題,再此做記錄!!!)

Jenkins啟動

       將jenkins的war包部署到應用伺服器(我用的是Tomcat7)啟動即可

jenkins啟動完成後會生成一個目錄:/

使用者/.jenkins

.jenkins目錄中會有workspace這麼個目錄(執行構建後會從svn上down下來檔案並根據專案型別執行具體的編譯打包如Ant或Maven [該目錄下也會按專案分目錄 如:ECP])

Jenkins基礎配置

       主介面(就這個熊樣子)

             

1.    系統設定

裡面的配置項非常多,截圖顯示不全,只需要配置我們關心的配置!!!

其他的都不管,直接找到這裡,全部配好!!!省的別的地方報錯!別管用不用得到,配上再說(一定要保證配對!!!)。

JDK配置

ANT配置(規則同上)

MAVEN配置(規則同上)

最後別忘了儲存!!!

2.    許可權配置

Jenkins1.596.3+Jdk6u45+Maven3.2.5+Tomcat7.x+SVN自動部署專案(很簡單隻要步驟對都能成功)

在這之前,需要先在Jenkins裡新增一個外掛(deploy-1.10.hpi)


       直接選<高階>即可,<可更新>和<可選外掛>可能報錯,用不到不用管。

開始新建

配置svn地址(此處svn地址最後需要跟上@HEAD:https://10.2.254.79/svn/CCI/EBT1/02-Engineering_工程/04-Code_實現/ECP@HEAD否則jenkins同步svn程式碼會有延遲!


設定svn使用者名稱密碼,設定完後回到專案配置頁面重新配置svn地址即可

構建後操作(只有當deploy-1.10.hpi外掛安裝後才會有該選項!!!)

選擇完tomcat後需要配置tomcat的使用者名稱密碼!!!

在tomcat目錄(此處的tomcat目錄一定是你要把專案釋出到的tomcat的目錄!!!)/conf/tomcat-users.xml中配置使用者名稱密碼,省事兒直接copy下面這段

<role rolename="tomcat"/>

  <role rolename="role1"/>

  <rolerolename="manager-gui"/>

  <rolerolename="manager-script"/>

  <rolerolename="manager-jmx"/>

  <role rolename="manager"/>

  <rolerolename="manager-status"/>

  <user username="tomcat"password="tomcat" roles="tomcat"/>

  <user username="both"password="tomcat" roles="tomcat,role1"/>

  <user username="role1"password="tomcat" roles="role1"/>

  <user username="admin"password="admin"roles="manager,manager-gui,manager-script,manager-jmx,manager-status"/>

執行構建 會在.jenkins/workspace目錄下生成一個資料夾ECP(jenkins中建的專案叫啥就生成啥)會把專案從svn上全down下來進行構建

Jenkins1.596.3+Jdk6u45+Ant+Weblogic10.3.5+SVN自動部署專案(巨TM費勁,weblogic需要單獨外掛才能部署,並且外掛的使用方法非常模糊,關於jenkins部署weblogic的文件網上資源稀少,特此記錄)

在這之前,需要先在Jenkins裡新增一個外掛(weblogic-deployer-plugin-3.6.hpi)

新增外掛步驟跟之前一樣,不重複了

非Maven專案選這個吧

和之前一樣

非Maven專案需要用Ant編譯打包

Ant Version:只有在jenkins系統設定裡配過,這裡才能選擇!!!

Targets:ant構建時預設會執行 ant 命令,如果需要另外的引數寫到這裡就行

選這個(只有安裝了weblogic-deployer-plugin-3.6.hpi外掛才有該選項)

此時你會毛都沒看到,頁面上沒有任何顯示,也不報錯,第一個坑來了

看jenkins所在tomcat的日誌catalog.out檔案

點選這個選項時報了這麼個錯

2017-1-10 13:51:27hudson.widgets.RenderOnDemandClosure$1 generateResponse

警告: Failed toevaluate the template closure

org.apache.commons.jelly.JellyTagException:jar:file:/root/.jenkins/plugins/weblogic-deployer-plugin/WEB-INF/lib/classes.jar!/org/jenkinsci/plugins/deploy/weblogic/WeblogicDeploymentPlugin/config.jelly:17:138:<j:invokeStatic> Could not load class: org.jenkinsci.plugins.deploy.weblogic.jdk.JdkToolService.Reason: java.lang.NoSuchMethodException:org.jenkinsci.plugins.deploy.weblogic.jdk.JdkToolService.getJDKHomeByName(java.lang.Object)

        atorg.apache.commons.jelly.tags.core.InvokeStaticTag.createLoadClassFailedException(InvokeStaticTag.java:177)

        atorg.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:139)

        atorg.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)

        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)

        atorg.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)

        atorg.kohsuke.stapler.jelly.JellyViewScript.run(JellyViewScript.java:95)

        at org.kohsuke.stapler.jelly.IncludeTag.doTag(IncludeTag.java:147)

        atorg.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)

        atorg.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)

        atorg.apache.commons.jelly.tags.define.InvokeBodyTag.doTag(InvokeBodyTag.java:91)

        atorg.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)

        atorg.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)

        atorg.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)

        atorg.apache.commons.jelly.tags.core.OtherwiseTag.doTag(OtherwiseTag.java:41)

        atorg.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)

        atorg.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)

        atorg.apache.commons.jelly.TagSupport.invokeBody(TagSupport.java:161)

        atorg.apache.commons.jelly.tags.core.ChooseTag.doTag(ChooseTag.java:38)

        atorg.apache.commons.jelly.impl.TagScript.run(TagScript.java:269)

        at org.apache.commons.jelly.impl.ScriptBlock.run(ScriptBlock.java:95)

        atorg.apache.commons.jelly.tags.core.CoreTagLibrary$2.run(CoreTagLibrary.java:105)

        atorg.kohsuke.stapler.jelly.CallTagLibScript.run(CallTagLibScript.java:120)

        at org.kohsuke.stapler.jelly.CallTagLibScript$1.run(CallTagLibScript.java:99)

        atorg.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:63)

        atorg.kohsuke.stapler.jelly.DefaultScriptInvoker.invokeScript(DefaultScriptInvoker.java:53)

        athudson.widgets.RenderOnDemandClosure$1.generateResponse(RenderOnDemandClosure.java:99)

        atorg.kohsuke.stapler.HttpResponseRenderer$Default.handleHttpResponse(HttpResponseRenderer.java:124)

        at org.kohsuke.stapler.HttpResponseRenderer$Default.generateResponse(HttpResponseRenderer.java:69)

        atorg.kohsuke.stapler.Function.renderResponse(Function.java:113)

        atorg.kohsuke.stapler.Function.bindAndInvokeAndServeResponse(Function.java:98)

        at org.kohsuke.stapler.MetaClass$JavaScriptProxyMethodDispatcher.doDispatch(MetaClass.java:470)

        atorg.kohsuke.stapler.NameBasedDispatcher.dispatch(NameBasedDispatcher.java:53)

        atorg.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

        at org.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

        atorg.kohsuke.stapler.MetaClass$12.dispatch(MetaClass.java:391)

        atorg.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:746)

        atorg.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

        atorg.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:813)

        atorg.kohsuke.stapler.Stapler.invoke(Stapler.java:876)

        atorg.kohsuke.stapler.Stapler.invoke(Stapler.java:649)

        atorg.kohsuke.stapler.Stapler.service(Stapler.java:199)

        atjavax.servlet.http.HttpServlet.service(HttpServlet.java:722)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)

        atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        athudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)

        athudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)

        atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)

        atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        athudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)

        athudson.security.UnwrapSecurityExceptionFilter.doFilter(UnwrapSecurityExceptionFilter.java:51)

        athudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        atjenkins.security.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:117)

        athudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        atorg.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)

        athudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        atorg.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:142)

        athudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        atorg.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:271)

        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        atjenkins.security.BasicHeaderProcessor.doFilter(BasicHeaderProcessor.java:93)

        athudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)

        athudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:67)

        at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)

        athudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)

        athudson.security.HudsonFilter.doFilter(HudsonFilter.java:168)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)

        atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        atorg.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:49)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)

        atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)

        atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        atorg.kohsuke.stapler.DiagnosticThreadNameFilter.doFilter(DiagnosticThreadNameFilter.java:30)

        atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:244)

        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)

        atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)

        atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)

        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:589)

        atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)

        atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)

        atorg.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:541)

        atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)

        atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:383)

        atorg.apache.coyote.http11.Http11Processor.process(Http11Processor.java:243)

        atorg.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:188)

        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:166)

        atorg.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:288)

        atjava.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)

        atjava.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)

        atjava.lang.Thread.run(Thread.java:662)

Caused by:java.lang.NoSuchMethodException:org.jenkinsci.plugins.deploy.weblogic.jdk.JdkToolService.getJDKHomeByName(java.lang.Object)

        atjava.lang.Class.getMethod(Class.java:1607)

        atorg.apache.commons.jelly.tags.core.InvokeStaticTag.doTag(InvokeStaticTag.java:124)

        ... 93 more

這個錯誤在網上根本查不到解決辦法,遂想到是不是剛剛安裝的weblogic外掛需要設定什麼東西沒設導致的錯誤,重新進到<系統設定>一直往下拉發現有個weblogic的設定。。。設定吧,不知道咋設定吧,找官網!!!

有了,有些選項設定起來依然費勁,猜著來吧

configuration.xml官網給的參考

我的configuration.xml檔案內容及格式(注意:該檔案內容修改後需要重啟jenkins)

<?xmlversion="1.0" encoding="UTF-8"?>

<configxmlns="http://org.jenkinsci.plugins/WeblogicDeploymentPlugin"

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

xsi:schemaLocation="http://org.jenkinsci.plugins/WeblogicDeploymentPluginplugin-configuration.xsd">

       <weblogic-targets>

              <!—該節點根據需求可配置多個-->

              <weblogic-target>

                     <!--隨便起個名字(我直接用的domain當名字)-->

                     <name>rayootechDomain</name>

                     <!-- domain的ip -->

                     <host>10.1.1.66</host>

                     <!-- domain的埠 -->

                     <port>7001</port>

                     <!-- domain的登入名 -->

                     <login>weblogic</login>

                     <!-- domain的密碼 -->

                     <password>[email protected]#</password>

              </weblogic-target>

       </weblogic-targets>

</config>

重新選擇該項,發現頁面有反應了,第一個坑至此算解決完了!!!

別忘了檢查前面的設定對不對,有可能沒儲存

看到下面這個配置項中的Environment項我突然明白上面配置的configuration.xml中的<weblogic-target>是什麼意思(並非之前猜測的叢集配置),如果配置了多個<weblogic-target>標籤,下面的Environment選項則有多個選項,選擇自己需要的domain就行了!!!



儲存成功後執行構建(跟之前一樣),去看jenkins控制檯吧!

若上圖中的Targets引數不為空,則jenkins控制檯輸出為(一部分):

/opt/jdk1.6.0_45/bin/java-Xms256M -Xmx1024M -cp /bea/wlserver_10.3/server/lib/weblogic.jarweblogic.Deployer -debug -stage -remote -verbose -upload -name EBT-WX-UAT-source /root/.jenkins/workspace/EBT-WX-UAT/target/EBT.war -targets AdminServer(或其他文字框中輸入的值) -adminurl t3://10.1.1.66:7001-user weblogic -password [email protected]# -deploy

(由此看出jenkins往weblogic部署war包是直接通過命令部署)

不知道為啥,只要帶上Targets引數就部署報錯,一開始也不知道是因為這個引數導致部署失敗,所以查了一下weblogic用命令部署war包的命令,都沒有用targets引數的,所以嘗試清空上圖中的Targets的值,可以看到jenkins控制檯輸出的命令為:

/opt/jdk1.6.0_45/bin/java-Xms256M -Xmx1024M -cp /bea/wlserver_10.3/server/lib/weblogic.jarweblogic.Deployer -debug -stage -remote -verbose -upload -name EBT-WX-UAT-source /root/.jenkins/workspace/EBT-WX-UAT/target/EBT.war -targets  -adminurl t3://10.1.1.66:7001 -user weblogic-password [email protected]# -deploy

可以看到-targets引數後面已經沒值了,部署成功!!!

注意:weblogic控制檯這裡一定要是釋放配置的狀態!!!否則你別想用jenkins部署成功!

這算是第二個坑吧

Ant編譯遇到的坑

build.xml儘量用eclipse或者其他開發工具倒出來!



此時專案下會生成一個build.xml檔案,執行ant命令時預設是build,只編譯,不會打war包,需要加上這種配置。

相關推薦

jenkins自動部署tomcat/weblogic

轉載自:http://blog.csdn.net/minebk/article/details/72763859 記錄初衷: 由於每次專案部署非常痛苦,很麻煩,遂使用jenkins來部署專案,只需點選即可,但是網上不論是百度還是google關於jenkins整合we

windows環境下使用jenkins自動部署釋出專案部署tomcat webapps資料夾下

1、首先在windows環境下安裝好jenkins(在此之前首先做到此專案是maven專案,並且已經可通過eclipse上傳和更新svn倉庫程式碼),在瀏覽器輸入localhost:8080/ (jenkins預設埠號是8080,tomcat有時也是這個,不要衝突) 看能否正

jenkins 自動部署指令碼 自動啟停tomcat部署專案

jenkins 自動部署指令碼備份:自動啟停tomcat 清空快取 部署war包 export ENV=DEV export JAVA_HOME=/usr/local/jdk1.6.0_45 expo

jenkins自動部署中執行shell指令碼啟動tomcat,但是tomcat不啟動的問題

Jenkins會在構建完成後使用processTreeKiller殺掉了所有子程序,而且這是Jenkins的預設行為。其實回頭來看這個問題,就發現Jenkins的做法非常合理。當一次build異常結束,或被人終止時,必然需要結束所有這次build啟動的子程序。下面的link提供了更多細節,以及解決方法。htt

jenkins自動部署應用到Tomcat,編譯後shell指令碼的簡單示例

1.先配置好jenkins需要用到的其他外部元件 jdk,maven,git/svn    安裝git: yum install git   git地址使用命令查詢 whereis git      maven jdk 安裝好後配置好環境變數

記憶體溢位導致jenkins自動部署tomcat失敗

原文地址:http://openwares.net/java/jenkens_deploy_to_tomcat_error_of_outofmemoryerror.htmljenkins自動部署war到tomcat 7應用伺服器時很不穩定,經常出現錯誤:1234567ERRO

Jenkins】包含dubbo服務的war包自動部署tomcat

在jenkis自動整合完專案後,需要將打成的war包部署到web應用伺服器上,這裡使用tomcat。jenkins自動整合後部署tomcat有很多種方式。 這裡使用了外掛和shell指令碼兩種方式。兩種

Jenkins自動部署到(遠端)tomcat伺服器

Jenkins的流程: 1.從版本控制中獲取程式碼 ->2. 使用maven編譯生成相應的包(jar,war) ->3. 部署到指定的地點。 其中2.主要是解決依賴的問題,或許你需要先mvn install所有自己的工程 其中3.主要是要配置tomcat使用者,

jenkins自動部署

jenkins自動部署 ansible 準備的東西ip.txt192.168.1.10192.168.1.10192.168.1.10auto_deploy_war.sh#!/bin/bash#Auto deploy Tomcat for jenkins perf#by author wugk 201

自動部署tomcat 腳本

src true action 自動部署 .sh load false mirror else 自動部署tomcat 腳本 . /etc/init.d/functions #調用系統函數 yum -y install java >/dev/null TAR=

Jenkins-自動部署,備份

Jenkins-自動部署,備份   問題匯入:     環境:       CentOS 7,   Tomcat 8.5,   Jdk 1.8,   Maven 3.25 ,Jenkins war包 2.x     原因:    

持續集成之Jenkins自動部署war包到遠程服務器

系統 wiki 需要 圖片 play 系統管理 管理 下載安裝 targe 1、下載插件Deploy to container 首先需要下載一個Jenkins的插件:Deploy to container Plugin ,可以在Jenkins的系統管理->插件管理-&

jekins自動部署tomcat注意事項、連線tomcat報錯

jekins自動部署tomcat注意事項 千萬不要用下面外掛推送,報錯很多, 要用指令碼,一篇部落格說的:“我們都是用的指令碼,外掛報錯太多,也不完善” Deploy to container Plugin”, 連線tomcat報錯解決 Jenkins部署:The username

jenkins自動部署思路,docker啟動

一,宿主機安裝docker,啟動jenkins容器,tomcat容器(免去部署環境,方便,但是需要比較複雜) 1,首先安裝docker,啟動官方的jenkins容器。(可以自己手動建立喜歡的映象) 2,啟動jenkins命令 docker run -d -u root -P -v /usr/

【整理】Jenkins自動部署maven工程

我的Jenkins是安裝在本地虛擬機器的linux系統上的,首先介紹系統以及各種軟體安裝步驟: 1. 安裝VMWare虛擬機器軟體 2. 安裝centos7系統 推薦安裝centos7系統,對最新的do

解決Jenkins自動部署Docker出現unix://localhost:80: Permission denied

jenkins使用docker-maven-plugin或者dockerfile-maven-plugin進行編譯時發現沒有許可權,具體錯誤內容如下: [INFO] I/O exception (java.io.IOException) caught when processing reques

Jenkins自動部署:本地jar包無法下載{{1009}}

雖然本地已經安裝了jar,但是還是報本地安裝的jar無法找到安裝命令:mvn install:install-file -Dfile=ojdbc-6.0.jar -DgroupId=com.oracle -DartifactId=ojdbc -Dversion=6.0 -D

使用shell自動部署tomcat專案

由於測試伺服器經常需要更新,覺得太麻煩就寫了個shell指令碼,記錄下來僅供大家參考 #!/bin/bash #------自動部署多個tomcat專案指令碼------ #1.刪除部署目錄下已存在的專案 #2.解壓war包到對應目錄下 #3.重新啟動tomcat伺服器

centos6.5下,Jenkins自動部署nodeJS程式

一、安裝Jenkins 在centos上的安裝 注意:Jenkins是java程式,需要依賴JDK。 在centos下,預設的JDK版本(GCJ)不支援Jenkins。這個時候,需要解除安裝原來的JDK,安裝Sun-compatible 版本。 以下是在官

Jenkins自動部署Maven 多個子專案

一、開啟Jenkins管理頁面 二、填寫配置資訊 備註: 1。修改Tomcat資料夾(conf)下面的tomcat-users.xml檔案。 2.問題描述:第一次部署沒有問題