事例說明:在linux環(huán)境下,安裝的jenkins,集成svn,項(xiàng)目是maven項(xiàng)目Jenkins配置
在Jenkins首頁,點(diǎn)擊Manage Jenkins,然后點(diǎn)擊Manage Plugins插件管理,安裝必要的插件,svn,maven,ssh等
然后Jenkins首頁,點(diǎn)擊Manage Jenkins,然后點(diǎn)擊Global Tool Configuration工具配置,配置JDK,Maven等
Jenkins使用
第一步:在首頁新建一個任務(wù),然后填入任務(wù)名,選擇自由風(fēng)格的項(xiàng)目
第二步,項(xiàng)目名稱,可不做修改
第三步:添加svn地址,并設(shè)定好,用戶名和密碼
第四步:構(gòu)建時,有三種情況
情況一,使用maven進(jìn)行項(xiàng)目的構(gòu)建,使用插件發(fā)布
第四步:構(gòu)建時,有兩種情況,建議使用第三者,本人親測
情況一,使用maven進(jìn)行項(xiàng)目的構(gòu)建,使用插件發(fā)布
構(gòu)建后操作,使用插件發(fā)布項(xiàng)目,進(jìn)行項(xiàng)目的發(fā)布,項(xiàng)目發(fā)布需要使用的插件是(Deploy to container Plugin),發(fā)布到tomcat中,需要用到tomcat的用戶名和密碼,tomcat用戶可以自己在tomcat中的conf/tomcat-users.xml文件中配置
tomcat-users.xml配置
情況二,使用shell命令進(jìn)行項(xiàng)目的構(gòu)建,然后直接用命令進(jìn)行發(fā)布,執(zhí)行tomcat啟動的時候,需要加入命令export BUILD_ID=dontKillMe
jenkins構(gòu)建輸出結(jié)果
情況三,使用shell命令進(jìn)行項(xiàng)目的構(gòu)建,然后直接用命令進(jìn)行發(fā)布,執(zhí)行tomcat啟動的時候,需要加入命令export BUILD_ID=dontKillMe
腳本源碼:
export BUILD_ID=dontKillMe
rm -rf /alidata/ejoined/server/apache-tomcat-8365/webapps/ROOT
cp -R /var/lib/jenkins/workspace/adsl-taobao-admin/target/ROOT.war /alidata/ejoined/server/apache-tomcat-8365/webapps/
tomcatpath=“/alidata/ejoined/server/apache-tomcat-8365”
pid=$(ps -ef | grep java | grep ${tomcatpath} | awk ‘{print $2}’)
kill -9 $pid
rm -rf ${tomcatpath}/work/Catalina/localhost/*
sleep 1
${tomcatpath}/bin/startup.sh
以上完成;
但是會有一些異常;如下:
如上圖所示:編譯成功,但無論怎樣執(zhí)行腳本都提示沒有權(quán)限(Permission denied),
這么問題本人費(fèi)時一天終于搞定了。怎樣解決那?
下面開始,從問題上分析,可以看出是用的當(dāng)前jenkins用戶在宿主Linux服務(wù)器上配置的默認(rèn)用戶名權(quán)限不對,
問題就在這里,
下面開始講解解決步驟:
1.首先查看你要使用腳本運(yùn)行的腳本指向哪里,本文中情況三中腳本指向的目標(biāo)文件或者目錄是(/alidata/ejoined/server/apache-tomcat-8365),這個文件下的所有東西,要看所指向的目錄上的可執(zhí)行的用戶,如下圖:
從圖中可看出,可執(zhí)行的用戶是root,
腳本指向的目標(biāo)文件或者目錄的一定要有可執(zhí)行的權(quán)限;
修改權(quán)限命令:chmod -R 755 目標(biāo)目錄名稱
2.知道腳本所指向的目錄或者文件所指向的用戶了,那么接下來就好解決了,
如何修改運(yùn)行jenkins進(jìn)程的linux帳號?
1、找的jenkins的配置文件,一般是/etc/sysconfig/jenkins
2、修改下面的參數(shù)為相應(yīng)的用戶,比如JENKINS_USER=“root”
## Type: string
## Default: “jenkins”
## ServiceRestart: jenkins
#
# Unix user account that runs the Jenkins daemon
# Be careful when you change this, as you need to update
# permissions of $JENKINS_HOME and /var/log/jenkins.
#
JENKINS_USER=“jenkins”
3、重啟jenkins:service jenkins restart
打開瀏覽器輸入地址,重新從第一個項(xiàng)目的編譯開始,接下來你就發(fā)現(xiàn)成功了。
-
jenkins
+關(guān)注
關(guān)注
0文章
31瀏覽量
5174
發(fā)布評論請先 登錄
相關(guān)推薦
Jenkins遠(yuǎn)程部署Linux服務(wù)器的過程
jenkins有什么用_jenkins如何自動部署
![<b class='flag-5'>jenkins</b>有什么用_<b class='flag-5'>jenkins</b>如何<b class='flag-5'>自動</b><b class='flag-5'>部署</b>](https://file1.elecfans.com//web2/M00/A7/19/wKgZomUMQl-AKo7MAAAdQXmDnBc562.png)
Jenkins自動化測試步驟
![<b class='flag-5'>Jenkins</b><b class='flag-5'>自動化</b>測試步驟](https://file.elecfans.com/web1/M00/45/D8/pIYBAFp5WgmAXcWKAAHGh5w6gQ4838.png)
云平臺的自動化部署設(shè)計(jì)與實(shí)現(xiàn)
![云平臺的<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>設(shè)計(jì)與實(shí)現(xiàn)](https://file.elecfans.com/web1/M00/46/0C/pIYBAFqPd-6AIl11AACEScSY6IU006.jpg)
Jenkins+docker+springboot一鍵自動部署項(xiàng)目
Jenkins+Docker一鍵自動化部署SpringBoot最簡流程
Jenkins+Docker一鍵自動化部署SpringBoot項(xiàng)目
Jenkins+Docker實(shí)現(xiàn)一鍵自動化部署項(xiàng)目!
Jenkins+Docker一鍵自動化部署SpringBoot應(yīng)用最精簡流程
![<b class='flag-5'>Jenkins</b>+Docker一鍵<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>SpringBoot應(yīng)用最精簡流程](https://file1.elecfans.com/web2/M00/AC/B3/wKgaomVIo8WASUd0AAAXZrmT-0o083.png)
基于Jenkins+GitLab+Maven實(shí)現(xiàn)代碼自動打包編譯發(fā)布
![基于<b class='flag-5'>Jenkins</b>+GitLab+Maven實(shí)現(xiàn)代碼<b class='flag-5'>自動</b>打包編譯發(fā)布](https://file1.elecfans.com/web2/M00/B1/2A/wKgZomVav1-APdgyAAAW-DRh5IQ877.png)
使用Jenkins和單個模板部署多個Kubernetes組件
![使用<b class='flag-5'>Jenkins</b>和單個模板<b class='flag-5'>部署</b>多個Kubernetes組件](https://file1.elecfans.com/web2/M00/BB/14/wKgaomWThfqAVgvDAAAG_lmP9yY754.jpg)
Flexus X 實(shí)例 Docker+Jenkins+gitee 實(shí)現(xiàn) CICD 自動化部署 - 解放你的雙手~
![Flexus X 實(shí)例 Docker+<b class='flag-5'>Jenkins</b>+gitee 實(shí)現(xiàn) CICD <b class='flag-5'>自動化</b><b class='flag-5'>部署</b> - 解放你的雙手~](https://file1.elecfans.com/web3/M00/03/F4/wKgZO2dtLVmAbhWoAAAeyH5wNJ4192.png)
Jenkins 與 SonarQube 集成部署,自動化代碼質(zhì)量監(jiān)控
![<b class='flag-5'>Jenkins</b> 與 SonarQube 集成<b class='flag-5'>部署</b>,<b class='flag-5'>自動化</b>代碼質(zhì)量監(jiān)控](https://file1.elecfans.com//web3/M00/05/21/wKgZPGd88t6AK9YwAAEA4xEY1H4138.png)
基于 Docker 與 Jenkins 實(shí)現(xiàn)自動化部署
![基于 Docker 與 <b class='flag-5'>Jenkins</b> 實(shí)現(xiàn)<b class='flag-5'>自動化</b><b class='flag-5'>部署</b>](https://file1.elecfans.com//web3/M00/05/21/wKgZPGd88vSARHEhAAEA43MSbXE167.png)
評論