linux部署jenkins,tomcat9
大家好,我是烤鴨:
????????今天分享的是????linux部署jenkins,tomcat9
安裝環境:
????linux centos7.2
????tomcat 9.1
????Jenkins 2.73
????JDK 1.8
????maven 3.5
????git 2.9
1.????下載jenkins:
????????https://jenkins.io/download/? ? ? ? ? ? ??我選擇的war下載。
2.????安裝jenkins
服務器上部署一個tomcat,把war包扔到tomcat的webapps下面,完活。訪問的別忘記加項目名稱(/jenkins)
3.????啟動Jenkins:
首次進入,首先要輸入一個密鑰來進入Jenkins,密鑰可以在 /var/lib/jenkins/secrets/initialAdminPassword 獲取
選擇相應的選項來安裝插件,選擇系統推薦即可
會有失敗的情況,我搜了下,說不影響,很多由于從國外的網站下,失敗很正常,直接進行下一步,后面也可以再安裝
接下來可以為Jenkins設置一個管理員帳戶,以后就可以用它登錄到Jenkins了
Jenkins安裝向導成功完成后,就可以看到這個頁面啦
以上部分內容來自:
????http://www.jianshu.com/p/1a7f46896c40
4.????配置系統插件(jdk,maven,svn或git)
? ? 4.1????JDK ????Git
選擇自己對應的安裝路徑即可:
????4.2????maven:
? ? ????4.3????創建項目
選擇maven項目,起一個名字
項目配置:(我這里是有版本,帶構建天數的,可以不一樣的。)
? ? ????4.3.1????源碼管理:
我這里用的git,svn是一樣的,填寫項目地址,我用的是碼云的倉庫。
這里報錯是沒有配置正確的用戶名和密碼。
點擊add來添加。
????????4.3.2?? ?添加git(我這里是碼云)的用戶名,密碼
????????4.3.3?????構建觸發器:
????? ?4.4.4????post steps選擇:
Invoke top-level Maven targets:
選擇已安裝的maven,和填寫需要執行的命令。
clean install -Dmaven.test.skip=true然后選擇:????Execute shell
填寫shell腳本:
#進入項目路徑 cd /usr/my/tomcat/source/appfilm #清空項目目錄 rm -rf ./* #拷貝并刪除jenkins生成的war包(默認在/root/.jenkins/workspace/項目名稱/target/war包名稱) cp -rf /root/.jenkins/workspace/app_film/target/appfilm.war ./ #殺掉這個項目的tomcat進程 kill -9 `ps aux | grep tomcat_appfilm | grep -v grep | awk '{print $2}'` #解壓war包 unzip -o appfilm.war #這一句是為了防止報錯,有時候Jenkins會發脾氣,集成失敗。 export BUILD_ID=doNotKillme #啟動tomcat sh /usr/my/tomcat/tomcat_appfilm/bin/startup.sh晴天比較好,陰天和雨天就表示最近失敗了。
寫的比較長,圖片也比較多,按照這樣來的話,應該沒問題的。
我把打包后的war放到這個目錄,你也可以放到webapp下,這樣就不需要清空目錄,只刪除指定的文件就可以了。
/usr/my/tomcat/source關于更改tomcat加載源碼的目錄,只要修改tomcat/conf/server.xml
<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"><Context path="/" docBase="/opt/source/xxx" debug="0" allowLinking="true" reloadable ="false" crossContext="true" /><!-- SingleSignOn valve, share authentication between web applicationsDocumentation at: /docs/config/valve.html --><!--<Valve className="org.apache.catalina.authenticator.SingleSignOn" />--><!-- Access log processes all example.Documentation at: /docs/config/valve.htmlNote: The pattern used is equivalent to using pattern="common" --><Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"prefix="localhost_access_log" suffix=".txt"pattern="%h %l %u %t "%r" %s %b" /></Host>docBase? ? 就是你源碼的目錄,把war包放到這個目錄再unzip就可以了。5.? ? 異常
另外說一下最近遇到的錯誤:
Build step 'Invoke top-level Maven targets' marked build as failure ERROR: Maven JVM terminated unexpectedly with exit code 137看了配置,并沒有問題。百度了一下,說是服務器內存不夠了。
free -h#查看剩余內存,只剩100多M了,肯定不夠用了。。。
echo 1 > /proc/sys/vm/drop_caches#清理網頁緩存
echo 2 > /proc/sys/vm/drop_caches#清理應用緩存
#都清
沒有太好的辦法,目前就是每次集成之前清理內存....
如果有什么好的辦法,記得告訴我。。。謝謝
總結
以上是生活随笔為你收集整理的linux部署jenkins,tomcat9的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS开发之 Autolayout 详解
- 下一篇: linux下创建的符号链接的权限