hudson linux节点,Linux 环境下搭建 Jenkins(Hudson)平台
安裝jenkins:
安裝 jenkins 有兩種方式:
安裝方式一:
sudo java -jar jenkins.war –httpPort=18080 –ajp13Port=18009但是很多時(shí)候我們是使用SSH方式到目標(biāo)機(jī)器上的,放我們關(guān)閉SSH連接時(shí),這個(gè)命令也會(huì)被中斷,jenkins服務(wù)會(huì)被終止,我們不可能一直保持這SSH連接,怎么辦?可以把這行命令寫成 shell 腳本,然后使用 nohup sh jenkins.sh &
命令啟動(dòng)這個(gè)腳本,這樣jenkins就能正常提供服務(wù)了。
安裝方式二:安裝 RPM包
為了能夠使用jenkins庫(kù),首先需要導(dǎo)入jenkins庫(kù)的 key:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo sudo rpm –import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key安裝軟件(以jenkins-x.x.x.rpm為例):yum install jenkins-x.x.x.rpm
刪除軟件:yum remove jenkins-x.x.x.rpm或者yum erase jenkins-x.x.x.rpm
升級(jí)軟件:yum upgrade jenkins或者yum update jenkins
查詢信息:yum info jenkins
開(kāi)啟服務(wù)(關(guān)閉,重啟): ?sudo service jenkins start|stop|restart檢查jenkins是否安裝完成: localhost:8080 (默認(rèn)是8080 端口,如果采用安裝方式一,那么就需要指定的端口)
運(yùn)行job時(shí)遇到的問(wèn)題:
mvn:command not found
遇到的問(wèn)題: 不能使用MVN命令;
排查過(guò)程:
①Jenkins 默認(rèn)創(chuàng)建進(jìn)程,啟動(dòng)任務(wù)的用戶名是 jenkins,使用root權(quán)限查看passwd,可以看到這個(gè)用戶默認(rèn)情況下 ssh 為false,也就是說(shuō)這個(gè)用戶默認(rèn)情況下是不能使用ssh進(jìn)行登錄的,除非修改 passwd中相應(yīng)字段為 bash,然后sourse;
jenkins:x:500:500:mengqc:/home/jenkins:/bin/fasle
passwd文件的格式: ?注冊(cè)名:口令:用戶標(biāo)識(shí)號(hào):組標(biāo)識(shí)號(hào):用戶名:用戶主目錄:命令解釋程序
②默認(rèn)情況下 Jenkins 的安裝目錄是 /var/lib/jenkins/ ,項(xiàng)目根目錄是 /var/lib/jenkins/jobs/workspace
從目錄上看,就知道這個(gè)是需要 root 權(quán)限才能執(zhí)行一些命令,但是我們通過(guò)界面 執(zhí)行一些命令使用的是admin用戶,縱使我們?cè)?根目錄下 能適應(yīng)mvn命令,但是問(wèn)題也不能解決。
還有一個(gè)簡(jiǎn)單的測(cè)試Maven 是否加入到了環(huán)境變量中的方法,在執(zhí)行mvn命令時(shí),填寫maven安裝的絕對(duì)路徑,如果能夠執(zhí)行,說(shuō)明不是權(quán)限的問(wèn)題,而是環(huán)境變量的問(wèn)題。
解決方案一:
①安裝 ssh slave 插件;
②啟動(dòng)slave 服務(wù);
③jenkins-系統(tǒng)管理-節(jié)點(diǎn)管理:重新設(shè)置 slave機(jī)器的 Remote FS root 為 /home/admin/xxx
(主要是添加了workspace的目錄) $ITEM_ROOTDIR
④把master的節(jié)點(diǎn)數(shù)設(shè)為0,這樣默認(rèn)情況下就會(huì)使用 slave節(jié)點(diǎn)。
問(wèn)題:
如果修改 工作目錄(Remote FS root),可能會(huì)遇到:
“main”java.lang.NoclassDefFoundError:hudson/maven/agent/Main原因:我們修改了slave的工作目錄,但是slave服務(wù)沒(méi)有重啟導(dǎo)致;
解決方法:使用我們的腳本 對(duì)slave進(jìn)行 重啟操作。
解決方案二:
在 /home/admin/目錄下新建一個(gè)工作目錄,然后將 /var/lib/jenkins目錄設(shè)置成一個(gè)跳轉(zhuǎn)鏈接 ,鏈接到admin目錄下 [sudo ln -s /home/admin/xxx/ ?/var/lib/jenkins] ,然后將/var/lib/jenkins 目錄下的文件 mv 到/home/admin/xxx/ 目錄下。
mvn和一些基本的命令是可以運(yùn)行了,但是運(yùn)行shell腳本時(shí)還是沒(méi)有權(quán)限,因?yàn)?新建的這個(gè)跳轉(zhuǎn)連接user=root ,group=root,并且對(duì)這個(gè)鏈接 使用chown/chgrp 都是沒(méi)有效果的,執(zhí)行一些操作命令是還是沒(méi)有權(quán)限;
解決方案三:修改默認(rèn) jenkins 用戶為 admin
①安裝jenkins
Java代碼 ?(我們一般使用的是admin權(quán)限)
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins
rpm -ql jenkins
②. 配置jenkins
Java代碼
// edit JENKINS_PORT, JENKINS_USER
sudo vi /etc/sysconfig/jenkins ?(把 JENKINS_USER 設(shè)置為 admin)
③. 修改jenkins權(quán)限(如果修改JENKINS_USER情況下)
Java代碼
####
sudo chown -R admin /usr/lib/jenkins
sudo chgrp -R admin /usr/lib/jenkins
####
sudo chown -R admin /var/log/jenkins
sudo chgrp -R admin /var/log/jenkins
sudo chown -R admin /var/lib/jenkins
sudo chgrp -R admin /var/lib/jenkins
sudo chown -R admin /var/cache/jenkins
sudo chgrp -R admin /var/cache/jenkins (這個(gè)如果不改,會(huì)出現(xiàn)404)
④. 啟動(dòng)jenkins
Java代碼
sudo /sbin/service jenkins start
或者 ?sudo service jenkins start
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的hudson linux节点,Linux 环境下搭建 Jenkins(Hudson)平台的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux分配iomem,Linux中_
- 下一篇: C语言初始化错误怎么办,结构体变量的初始