linux之Jenkins自動(dòng)化項(xiàng)目部署流程
CI/CD
CI (continuous integration-CI) -- 持續(xù)集成
代碼合并,構(gòu)建,部署,測(cè)試都在一起,不斷的執(zhí)行的過程,并對(duì)結(jié)構(gòu)反饋。
CD(continuous Deloyments)-- 持續(xù)交付
把代碼部署到測(cè)試環(huán)境,預(yù)生產(chǎn)環(huán)境。
CD(continous Delivery)-- 持續(xù)部署
將最終的產(chǎn)品發(fā)布到生產(chǎn)環(huán)境,給用戶使用。
實(shí)現(xiàn)持續(xù)集成/持續(xù)發(fā)布的產(chǎn)品
開發(fā)(git) -->git遠(yuǎn)程倉庫-->jenkins(git+jdk+tomcat+maven打包+測(cè)試)-->發(fā)布到tomcat服務(wù)器
jenkins
Jenkins是幫我們將代碼進(jìn)行統(tǒng)一的編譯打包、還可以放到tomcat容器中進(jìn)行發(fā)布。 意思是我們通過配置,將以前:編譯、打包、上傳、部署到Tomcat中的過程交由Jenkins,Jenkins通過給定的代碼地址URL,將代碼拉取到其“宿主服務(wù)器”(Jenkins的安裝位置),進(jìn)行編譯、打包和發(fā)布到web容器中。
Jenkins
Jenkins概述
是一個(gè)開源的、提供友好操作界面的持續(xù)集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持續(xù)、自動(dòng)的構(gòu)建/測(cè)試軟件項(xiàng)目、監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。
Jenkins用Java語言編寫,可在Tomcat等流行的servlet容器中運(yùn)行,也可獨(dú)立運(yùn)行。 jenkins通常與版本管理工具(SCM)、構(gòu)建工具結(jié)合使用;常用的版本控制工具有SVN、GIT。
jenkins構(gòu)建工具有Maven、Ant、Gradle。
Jenkins目標(biāo)
是監(jiān)控軟件開發(fā)流程 快速顯示問題 提高開發(fā)效率 過程控制
Jenkins特性
- 易于安裝
不需要安裝、不需要數(shù)據(jù)庫,只需通過java -jar jenkins.war或部署到一個(gè)servlet容器中
- 易于配置
所有的配置都可能通過jenkins提供的web界面完成,當(dāng)然如果你喜歡,也可以通過手動(dòng)修改xml文件進(jìn)行配置
- 測(cè)試報(bào)告
生成JUnit或TestNG的測(cè)試報(bào)告.集成RSS/E-mail通過RSS發(fā)布構(gòu)建結(jié)果或當(dāng)構(gòu)建完成時(shí)通過e-mail通知。
- 文件識(shí)別
jenkins能跟蹤每次構(gòu)建生成哪些jar包以及使用哪個(gè)版本的jar包
- 分布式構(gòu)建
支持Jenkins能夠讓多臺(tái)計(jì)算機(jī)一起構(gòu)建/測(cè)試。
- 插件支持
jenkins可以通過第三方插件擴(kuò)展,也可以根據(jù)團(tuán)隊(duì)需要開發(fā)插件
- 任務(wù)(Job)和構(gòu)建(build)
任務(wù):(Job)是Jenkins的一個(gè)執(zhí)行計(jì)劃,是一系列操作的集合。 構(gòu)建:是Jenkins的任務(wù)的一次運(yùn)行。
- 工作流程圖

- 開發(fā)者檢入代碼到源代碼倉庫。
- CI系統(tǒng)會(huì)為每一個(gè)項(xiàng)目創(chuàng)建了一個(gè)單獨(dú)的工作區(qū)。當(dāng)預(yù)設(shè)或請(qǐng)求一次新的構(gòu)建時(shí),它將把源代碼倉庫的源碼存放到對(duì)應(yīng)的工作區(qū)。
- CI系統(tǒng)會(huì)在對(duì)應(yīng)的工作區(qū)內(nèi)執(zhí)行構(gòu)建過程。
- (配置如果存在)構(gòu)建完成后,CI系統(tǒng)會(huì)在一個(gè)新的構(gòu)件中執(zhí)行定義的一套測(cè)試。完成后觸發(fā)通知(Email,RSS等等)給相關(guān)的當(dāng)事人。
- (配置如果存在)如果構(gòu)建成功,這個(gè)構(gòu)件會(huì)被打包并轉(zhuǎn)移到一個(gè)部署目標(biāo)(如應(yīng)用服務(wù)器)或存儲(chǔ)為軟件倉庫中的一個(gè)新版本。軟件倉庫可以是CI系統(tǒng)的一部分,也可以是一個(gè)外部的倉庫,諸如一個(gè)文件服務(wù)器或者像Java.net、 SourceForge之類的網(wǎng)站。
- CI系統(tǒng)通常會(huì)根據(jù)請(qǐng)求發(fā)起相應(yīng)的操作,諸如即時(shí)構(gòu)建、生成報(bào)告,或者檢索一些構(gòu)建好的構(gòu)件。 Jenkins就是這么一個(gè)CI系統(tǒng)。之前叫做Hudson。
Jenkins實(shí)戰(zhàn)案例
環(huán)境
- centos7
- github,gitee,gitlab
- 192.168.183.101 部署jenkins(4\6\8G)
- 192.168.183.100充當(dāng)tomcat網(wǎng)站服務(wù)器
- 關(guān)閉防火墻\關(guān)閉selinux\配置了yum源(base,epel 阿里源)
1、安裝相關(guān)工具
1,mave安裝
要在java環(huán)境下才能用,下面有安裝jdk
1,官網(wǎng)https://maven.apache.org/
2,下載 maven3.8.8 包
https://dlcdn.apache.org/mave選擇自己需要的maven版本
[root@yt ~]# wget https://dlcdn.apache.org/maven/maven-3/3.8.8/binaries/apache-maven-3.8.8-bin.tar.gz
也可以下載好直接上傳到linux中
3,解壓后不用安裝,直接放到/usr/local/下
[root@yt ~]# tar -zxvf apache-maven-3.8.8-bin.tar.gz -C /usr/local/ [root@yt ~]# mv /usr/local/apache-maven-3.8.8/ /usr/local/maven
4,配置環(huán)境變量
[root@yt ~]# vim /etc/profile.d/jenkins_tools.sh
export M2_HOME=/usr/local/maven
export M2=$M2_HOME/bin
PATH=$M2:$PATH:$HOME/bin:/usr/local/git/bin
export MAVEN_HOME=/usr/local/maven
export PATH=${MAVEN_HOME}/bin:$PATH 5,刷新環(huán)境變量
[root@test8 ~]# source /etc/profile.d/jenkins_tools.sh
2,部署git
- 1.安裝依賴包
[root@test8 ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker fontconfig -y
- 2.git官網(wǎng)下載最新版本GIT
[root@test8 ~]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
也可以下載好上傳到linux中
- 3.安裝git
源碼安裝 [root@test8 ~]# tar xf git-2.9.5.tar.gz [root@test8 ~]# cd git-2.9.5/ 編譯源碼包,安裝在/usr/local/git目錄下 [root@test8 git-2.9.5]# make prefix=/usr/local/git all 時(shí)間會(huì)有些久!! 安裝包 [root@test8 git-2.9.5]# make prefix=/usr/local/git install
- 4,修改環(huán)境變量 -- 更新git的路徑,從用戶主目錄下的
bin目錄 修改到 /usr/local下面
編輯/etc/bashrc文件 [root@test8 git-2.9.5]# vi /etc/bashrc 最下面添加: PATH=$PATH:$HOME/bin:/usr/local/git/bin

關(guān)于bashrc和profile
/etc/profile:此文件為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息,當(dāng)用戶第一次?。?!登錄!??!時(shí),該文件被執(zhí)行. 并從/etc/profile.d目錄的配置文件中搜集shell的設(shè)置.
/etc/bashrc:為每一個(gè)運(yùn)行bash shell的用戶執(zhí)行此文件.當(dāng)bash shell被打開時(shí),該文件被讀取.
- 5,刷新環(huán)境變量
[root@test8 git-2.9.5]# source /etc/bashrc
- 6,測(cè)試是否安裝成功:
[root@test8 git-2.9.5]# git --version git version 1.8.3.1
- 7,如果你查詢的是低版本,有可能是系統(tǒng)YUM安裝的.yum卸載之后即可.
[root@test8 git-2.9.5]# yum remove git.x86_64 [root@test8 git-2.9.5]# source /etc/bashrc [root@test8 git-2.9.5]# git --version git version 2.9.5
3、安裝Jenkins
搭建jdk環(huán)境和Tomcat服務(wù)
1、上傳 jdk-11.0.16_linux-x64_bin.tar.gz apache-tomcat-9.0.79.tar.gz
2、解壓jdk
[root@test8 ~]# tar xf jdk-11.0.16_linux-x64_bin.tar.gz
3、解壓tomcat
[root@test8 ~]# tar xf apache-tomcat-9.0.79.tar.gz
4、拷貝并修改名稱
將解壓后的jdk和Tomcat移動(dòng)到/usr/local/下 [root@test8 ~]# mv jdk-11.0.16 /usr/local/java && mv apache-tomcat-9.0.79 /usr/local/tomcat
5、處理環(huán)境變量
[root@test8 ~]# vi /etc/profile.d/java.sh ? 編輯一下內(nèi)容: TOMCAT_HOME=/usr/local/tomcat JAVA_HOME=/usr/local/java PATH=$TOMCAT_HOME/bin:$JAVA_HOME/bin:$PATH export TOMCAT_HOME JAVA_HOME PATH
6、刷新環(huán)境變量
[root@test8 ~]# source /etc/profile.d/java.sh ? [root@test8 ~]# java -version java version "11.0.16" 2022-07-19 LTS Java(TM) SE Runtime Environment 18.9 (build 11.0.16+11-LTS-199) Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.16+11-LTS-199, mixed mode) ? 這里驗(yàn)證maven也是安裝好的 [root@web ~]# mvn --version Apache Maven 3.8.8 (4c87b05d9aedce574290d1acc98575ed5eb6cd39) Maven home: /usr/local/maven Java version: 11.0.16, vendor: Oracle Corporation, runtime: /usr/local/java Default locale: zh_CN, platform encoding: UTF-8 OS name: "linux", version: "3.10.0-957.el7.x86_64", arch: "amd64", family: "unix"
4、安裝jenkins
1,官網(wǎng)下載jenkins: jenkins.war
下載2.422

2,上傳至服務(wù)器
3,清空Tomcat下webapp中的所有文件,防止Tomcat中的文件造成干擾
[root@test8 ~]# rm -rf /usr/local/tomcat/webapps/*
4,將Jenkins.war包放到Tomcat/webapp下
[root@test8 ~]# cp jenkins.war /usr/local/tomcat/webapps/
5、啟動(dòng)tomcat,并頁面訪問
[root@test8 ~]# /usr/local/tomcat/bin/startup.sh
訪問 http://192.168.183.100:8080/jenkins

可能出現(xiàn)的錯(cuò)誤
缺少字體
[root@yt ~]# yum install fontconfig 安裝并重啟tomcat [root@yt ~]# /usr/local/tomcat/bin/startup.sh
如果還有其他錯(cuò)誤,請(qǐng)查詢tomcat的錯(cuò)誤日志.
2、前臺(tái)配置jenkins
1,解鎖Jenkins

2,添入以下文件密碼到上圖頁面中
[root@yt ~]# cat /root/.jenkins/secrets/initialAdminPassword 44bae7336de74fafaa8fa78bdb0311c6
點(diǎn)擊繼續(xù)

3,選擇suggested的插件進(jìn)行下載

4,等待安裝完成。

因?yàn)榫W(wǎng)速原因,插件可能下載失敗,沒關(guān)系,把他們記錄下來,比如下圖的兩個(gè)插件,點(diǎn)擊繼續(xù),進(jìn)去之后手動(dòng)重新安裝未安裝好的插件,也可以重試,繼續(xù)下載安裝。
如果大量組件,重試多次依然未安裝成功.請(qǐng)嘗試如下方法解決jenkins 插件安裝緩慢問題
[root@yt ~]# vim ~/.jenkins/hudson.model.UpdateCenter.xml
?
<url>http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json</url>
?
?
?
[root@yt ~]# vim ~/.jenkins/updates/default.json
替換命令
% s/www.google.com/www.baidu.com/g
% s/updates.jenkins.io\/download/mirrors.tuna.tsinghua.edu.cn\/jenkins/g
舊版: http://updates.jenkins-ci.org/download 替換成 https://mirrors.tuna.tsinghua.edu.cn/jenkins
新版:https://updates.jenkins.io/download 替換成 https://mirrors.tuna.tsinghua.edu.cn/jenkins
修改完以后,重啟Jenkins服務(wù)再輸入密碼,繼續(xù)安裝,速度賊快。
http://192.168.183.100:8080/jenkins/restart
重啟tomcat5,創(chuàng)建用戶

6,jenkins的分享地址 http://192.168.183.100:8080/jenkins/

7,前臺(tái)安裝完成

如果這個(gè)頁面過一會(huì)消失了。并且常時(shí)間空白??赡苄枰愕卿浟?。換個(gè)瀏覽器,打開相同的地址就會(huì)出現(xiàn)認(rèn)證頁面。
8,登錄成功進(jìn)入歡迎界面

3、系統(tǒng)配置
系統(tǒng)配置
系統(tǒng)消息:Welcome to Jenkins~
Manage Jenkins
提示信息
初始頁面提示

centos7支持截止日期
- 操作系統(tǒng)壽命終止監(jiān)視器 您正在CentOS Linux 7(Core)上運(yùn)行Jenkins。Jenkins將在2023-11-16年后不再支持CentOS Linux 7(Core)。 請(qǐng)計(jì)劃在2023-11-16年之前升級(jí)到受支持的操作系統(tǒng)。 有關(guān)詳細(xì)信息,請(qǐng)參閱文檔。
- 如果你希望繼續(xù)使用centos7上jenkins請(qǐng)保留這個(gè)版本
單節(jié)點(diǎn)提示
- 在內(nèi)置節(jié)點(diǎn)上構(gòu)建可能是一個(gè)安全問題。您應(yīng)該設(shè)置分布式構(gòu)建。請(qǐng)參閱文檔。
- 全局變量設(shè)置



- 全局工具配置


- maven配置
/usr/local/maven/conf/settings.xml

- 添加JDK工具
點(diǎn)擊新增---> 取消自動(dòng)安裝 ---->然后查詢Jenkins服務(wù)器上JDK的路徑,填寫JAVA_HOME ---> 保存即可

添加git工具
/usr/local/git/bin/git

添加maven工具
/usr/local/maven

SSH 設(shè)置:
注意這一步等插件管理進(jìn)行完之后再進(jìn)行下面的操作
簡(jiǎn)介
- (192.168.183.100)jinkens服務(wù)器上的maven將開發(fā)產(chǎn)生的*.war包。 通過SSH自動(dòng)推送到遠(yuǎn)程tomcat 服務(wù)器上(192.168.183.101)。 需要手工配置ssh key。配合自動(dòng)化推送
- 192.168.183.100是jenkins
- 192.168.183.101是tomcat網(wǎng)站服務(wù)器,代表業(yè)務(wù)服務(wù)器
1.jenkins服務(wù)器準(zhǔn)備秘鑰認(rèn)證
[root@yt ~]# ssh-keygen 一路回車
2.將秘鑰拷貝給目標(biāo)服務(wù)器
[root@yt ~]# ssh-copy-id -i 192.168.183.101
3.注意這里的192.168.183.101是一臺(tái)tomcat網(wǎng)站服務(wù)器。什么都不用安裝,接到代碼即可。
4.測(cè)試連接
[root@yt ~]# ssh 192.168.183.101 登錄不需要密碼即可
切記測(cè)試遠(yuǎn)程登錄后退出?。?!
[root@yt ~]# exit
5.在jenkins上配置ssh信息
1.查看SSH私鑰
[root@yt ~]# cat ~/.ssh/id_rsa -----BEGIN RSA PRIVATE KEY----- MIIEowIBAAKCAQEA3sx3DSfnhnGTenwXSDvd37jUAAjz0q+g9xJWL+9noRusyNz2 3R413uLDh8JCCLeYJg9yIRp/8pGKBP2oU5XUtlRVUXGmOkywVr0bOzTHdXlyr/Wm vPegep+bsiaMUtJkRY3fV+sXYAwkKu9rEKiuOoCRyiuNG3qAywj3Nm48A8vvQSe0 nf4ZhCAG0YB8Q1IIyLm+/0/Z0cQChNKQjdCfQJB37Wx2Oi0Y3ajta7Tt3iEWl6bF 0VZbBOr4BYpZAVeTUrMpTxw7HQAP7HOynG/RkVD9z9AyQgZQo2UginQpEYYJ+VwQ 2fDrUUQwvFg2Zy2jBZvRdQjjvqhM1c8fSGwYHwIDAQABAoIBAGtzYstGfoO5jO3a oQPmU4hNRHlL2AO5TkE6Z7SwmmL5zOgGoUxdAJAg/zofNuerW8anVlyewixDgrQL fb3qGe9hVtBzpj6hs73xcAuq1bNTQjuYlrS2HIBnL5jIvI5JB7D/zkJBkEFzOZI3 a4RaRcTTMvy06lXhS/IfvdJTccBGGPRpdXulzULlfBJIJoodmVzFvNT1TBhUtaE5 AVoxXwccUizzRX5ACq0URpUTGEFqREl5w7R6jtXHnSiat3UIq5ChS7sa6D24pMmi HVe4CHhcjW+9Yfs8bgbZ/rSdPz1cQ33BGyZt9VRxyTPCF90gqh/EDOFBDEiDR+bp ovvZfFkCgYEA9/PeeqzlwPqq5/6B7RDZ4rbm+X2RQpzb49al4/mXOoq/Lv1UWyRU Qn1DTEvoxh7Rgp427r8O9a+wlB20TS7vkybJxIb7tOtosiWvXD1Xjxhzv+hEAaV0 m2ezgznVF5v7Aw+AQQGzJCk9M75dTT1W63LId4/NPPRGL4dAxQ6CvoMCgYEA5gea WfuAKFK/ZJACi7ZT3geoXap72b8wyeM2elpCLfZFMbLC52Pp2uD+IQUnIDgBRELu WjdQzgxafz9miDtXi7kWLDhKnUWppprJoGTVkSvnIgYTdA0G6cvliSRuV8xTKHYc wygVxL1MtAknrfylwwfixoHDlKKWAzVzkX46DTUCgYEA6YfBie8f8ZLltt0pR7tw S6ySfHb8gi20mLFIyx//hD67dCla8wCTb5AE+24fTcIm94vGFzTRhSq097vGXk+P ixukOzobBboWgHsn34tS1U5lbmD29En+OoQAOd8VSUg6sRY/aHqOW8ePghWQULgu DlGsZ5eD6R30oL0VjsNs9rsCgYBCd6XxJEwG2so1C6vApSGcwYez8QQyih1V6NKg Dh6bW1LpJmdNJ0C2n1avQebpV2V+TPzEksFFmKo5pJ9C9Cq60/OFOYrN4QhBfO6P 6zMO7Kmv2iOa3/zEZ8delmlP81mAEokDFz0bCTv1tcOCccOQFGJBy9Mwyr4gFTzc qKWrlQKBgBXLMBs+h5Ax8KIrjxlHIt8oPUYCOpi4ofdUBXUafzbEiYZPK3Y2UbDP 4OTI5sflEBsfRkzl1Nw+V6n89utUQyv8LgHJNvwo4A3DMn+s2FsCx/tIZrKtejo6 ZKTpqjm3bsBhThQCQnqKpqNhUgWL+AqN5Ug8KLGTB7TTSsGeJo1+ -----END RSA PRIVATE KEY-----
復(fù)制cat出來的所有內(nèi)容,粘貼到下一步頁面上的key中。
進(jìn)入jenkins系統(tǒng)設(shè)置


- 粘貼到j(luò)enkins



4、插件管理
- 插件管理
這里有可更新、可選未安裝插件、已安裝插件;可以通過過濾快速查找


- 安裝插件
(1)Maven Integration plugin 安裝此插件才能構(gòu)建maven項(xiàng)目

(2)Deploy to container Plugin 安裝此插件,才能將打好的包部署到tomcat上

(3) 安裝git相關(guān)3個(gè)插件
安裝過程同第一個(gè)插件:
GIT plugin
GitHub Authentication

GitHub Branch Source
默認(rèn)已安裝
GitHub Organization Folder
淘汰了。不用安裝這個(gè)插件了
(4)安裝插件:Publish Over SSH

回到上面配置ssh
安裝過程同第一個(gè)插件:
優(yōu)化maven
配置國(guó)內(nèi)maven鏡像
[root@yt ~]# vim /usr/local/maven/conf/settings.xml
注意每一行
<mirror>
<id>central</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror> 5、Jenkins+Maven+Github+Tomcat 自動(dòng)化構(gòu)建打包、部署
Jenkins+Maven+Github+Tomcat 自動(dòng)化構(gòu)建打包、部署
創(chuàng)建一個(gè)Maven工程

1.構(gòu)建maven項(xiàng)目

2.源碼管理 -- 選擇版本控制器和倉庫地址
互聯(lián)網(wǎng)倉庫1
https://gitee.com/newrain001/easy-springmvc-maven.git https://gitee.com/chenfuguo1949/easy-springmvc-maven.git
互聯(lián)網(wǎng)倉庫2
https://github.com/bingyue/easy-springmvc-maven.git
如果有圖中的提示,請(qǐng)注意你的git工具在jenkins中是否配置正確

注意:如果是私有倉庫,這里需要建立credentials身份認(rèn)證
3.設(shè)置觸發(fā)器(保持默認(rèn))

4.設(shè)置構(gòu)建(編譯打包)
手動(dòng)添加Goals and options
clean package -Dmaven.test.skip=true

5.構(gòu)建后操作
在構(gòu)建后設(shè)置中 選擇:(send build artifacts over ssh)通過SSH發(fā)送構(gòu)建工件
點(diǎn)擊 --> 增加構(gòu)建后操作



說明
name
ssh server 因?yàn)橹暗呐渲脮?huì)默認(rèn)出現(xiàn)tomcat業(yè)務(wù)服務(wù)器的名字
source file
target/*.war
構(gòu)建之后,在jenkins服務(wù)器上是可以自動(dòng)看到war包的。(該路徑不需要?jiǎng)?chuàng)建) # ls /root/.jenkins/jobs/testjob1/builds/target/*.war
Remove prefix
自動(dòng)刪除路徑前綴(不需要?jiǎng)?chuàng)建路徑前綴)
Remote directory
tomcat業(yè)務(wù)服務(wù)器上的路徑,需要提前在192.168.183.101(tomcat)上創(chuàng)建該目錄。 用來存放網(wǎng)站源代碼。(需要后臺(tái)創(chuàng)建) # mkdir -p /jenkins/war,真正的部署項(xiàng)目應(yīng)該放到/usr/local/tomcat/webapp/下
Exec command
tomcat(192.168.229.21)在接收到源碼之后的自定義動(dòng)作。 比如:將源碼拷貝到網(wǎng)站的主目錄(/jenkins),并執(zhí)行一些其他操作如重啟服務(wù)器等(或創(chuàng)建文件touch)(需要后臺(tái)創(chuàng)建) # mkdir /jenkins/sh # cat /jenkins/sh/deploy.sh cp -r /jenkins/war/*.war /jenkins touch /tmp/aaaaaa.txt #chmod +x /jenkins/sh/deploy.sh
6.保存
執(zhí)行構(gòu)建

錯(cuò)誤1
github連接失敗
ERROR: Error cloning remote repo 'origin' SSH: Current build result is [FAILURE], not going to run. Finished: FAILURE 重試
6、構(gòu)建任務(wù)
構(gòu)建任務(wù)
- 1.立即構(gòu)建
- 2.查看構(gòu)建結(jié)果
結(jié)果路徑

輸出信息,最后是如下:
channel stopped SSH: Connecting from host [web.chenfuguo.cn] SSH: Connecting with configuration [tomcat] ... SSH: EXEC: completed after 201 ms SSH: Disconnecting configuration [tomcat] ... SSH: Transferred 1 file(s) Finished: SUCCESS
7、檢查錯(cuò)誤配置
檢查錯(cuò)誤配置
左側(cè):點(diǎn)擊“系統(tǒng)管理”
1.如果有“編碼問題”錯(cuò)誤,在Tomcat–>conf–>server.xml文件中修改即可
[root@localhost ~]# head -1 /usr/local/tomcat/conf/server.xml <?xml version="1.0" encoding="UTF-8"?>
2.如果有”反向代理設(shè)置有誤“錯(cuò)誤,請(qǐng)忽略
關(guān)于jenkins 設(shè)置中文語言(略)
關(guān)于重啟jenkins(略)
- http://192.168.183.101:8080/jenkins/restart
- http://192.168.183.101:8080
- http://192.168.183.101:8080
排錯(cuò)問題示例
問題1:jenkins訪問一直處于等待狀態(tài)tomcat日志顯示如下信息:
[root@jenkins logs]# tail -f /usr/local/tomcat/logs/catalina.out WARNING [Handling GET /jenkins/login from 10.0.0.174 : http-nio-8080-exec-3 HudsonIsLoading/index.jelly] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/classes/lib/layout/breadcrumbs.jelly] to the cache for web application [/jenkins] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache
解決方案
只要在$CATALINA_BASE/conf/context.xml里增加資源最大可緩存的大小就行了,大小可按自己的需要定義
# vim /usr/local/tomcat/conf/context.xml
<Context>
<!-- Default set of monitored resources. If one of these changes, the -->
<!-- web application will be reloaded. -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>
<Resources
cachingAllowed="true"
cacheMaxSize="100000"
/>
</Context>
最后重起tomcat,問題解決!問題2:剩余內(nèi)存必須大于2G
- tomcat啟動(dòng)之前的內(nèi)存
- tomcat啟動(dòng)之后的內(nèi)存
問題3:插件下載后繼續(xù)下面初始化完成點(diǎn)開始的時(shí)候跳到一個(gè)空白頁面
解決:點(diǎn)擊地址欄左邊的后退按鈕即可進(jìn)入正常頁面
接著上面的錯(cuò)誤,返回之后雖然進(jìn)入正常界面,但是會(huì)有如下提示:
手動(dòng)安裝這些插件
問題4:腳本權(quán)限
嘗試修改構(gòu)建后腳本的權(quán)限
問題5:構(gòu)建個(gè)人的github庫時(shí),缺失pom文件
可以用公共庫中拷貝,傳到自己的GitHub上。
8、構(gòu)建部署前端項(xiàng)目
1,安裝nginx
[root@yt ~]# yum install nginx -y [root@yt ~]# systemctl start nginx
2,測(cè)試nginx安裝成功
出現(xiàn)nginx服務(wù)器的主頁
[root@yt ~]# systemctl restart nginx.service
2,安裝node.js
服務(wù)器上的node版本要和開發(fā)環(huán)境用的node版本同步,問前端要他的node.js的版本
查看node版本
node -v
1,下載node.js
node.js官網(wǎng)https://nodejs.org/zh-cn

1.把壓縮包傳到服務(wù)器,解壓就是安裝
2.解壓安裝
[root@yt ~]# tar -xvf node-v17.9.1-linux-x64.tar.xz -C /usr/local/
3.修改node的名字方便配置環(huán)境變量
[root@yt ~]# mv /usr/local/node-v17.9.1-linux-x64/ /usr/local/node
4.配置環(huán)境變量
[root@yt ~]# vim /etc/profile.d/node_tools.sh ? export NODE_HOME=/usr/local/node/ export PATH=$NODE_HOME/bin:$PATH
5.刷新環(huán)境變量,測(cè)試node和npm是否安裝成功
[root@yt ~]# source /etc/profile.d/node_tools.sh [root@yt ~]# node -v v17.9.1 [root@yt ~]# npm -v 8.11.0l
3、構(gòu)建Jenkins任務(wù)
?https://github.com/cfg1573/my-vue-2402.git
配置目標(biāo)機(jī)器
[root@yt ~]# mkdir /root/web [root@yt ~]# vim web.sh # jenkins 拉取代碼存放地址 cd /root/web # 為什么要切換目錄:因?yàn)閚pm install執(zhí)行安裝依賴要在項(xiàng)目目錄下才能找到需要的依賴是什么才可以執(zhí)行。 npm install npm run build # 將vue項(xiàng)目進(jìn)行打包成瀏覽器可以識(shí)別的html、css、js文件 rm -rf /usr/share/nginx/html/* cp -r /root/web/dist/* /usr/share/nginx/html/ systemctl restart nginx.service [root@yt ~]# chmod +x /root/web.sh



總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
linux上TCP connection timeout問題解決辦法
這篇文章主要介紹了 linux上TCP connection timeout問題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04
Apache JMeter 5.5 下載安裝及設(shè)置中文圖文教程
這篇文章主要介紹了Apache JMeter 5.5 下載安裝以及設(shè)置中文教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
關(guān)于linux下core dump【總結(jié)】
下面小編就為大家?guī)硪黄P(guān)于linux下core dump【總結(jié)】。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-01-01
入域的Windows訪問未入域的Samba服務(wù)方法介紹
這篇文章主要介紹了入域的Windows訪問未入域的Samba服務(wù)方法介紹,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
虛擬機(jī)Centos7環(huán)境下實(shí)現(xiàn)安裝wget方式
wget是一款支持HTTP/HTTPS/FTP的下載工具,可后臺(tái)運(yùn)行,若虛擬機(jī)Linux缺少wget,可通過刪除舊版本、下載并安裝rpm包解決,最后驗(yàn)證安裝是否成功2025-07-07

