阿粉手把手教你在 CentOS7 下搭建 Jenkins
阿粉的公司是用 Jenkins 去做的 DevOps 實(shí)踐,那么想要快速熟悉 Jenkins ,第一步就是去把它搭建一下,這周末閑著沒事就玩了一把,將整個(gè)過(guò)程和大家分享下
Jenkins 是什么
Jenkins 是什么嘞?它提供了軟件開發(fā)的持續(xù)集成服務(wù),運(yùn)行在 Servlet 容器中(例如 Apache Tomcat )。它支持軟件配置管理( SCM )工具(包括 AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase 和 RTC ),可以執(zhí)行基于 Apache Ant 和 Apache Maven 的項(xiàng)目,以及任意的 Shell 腳本和 Windows 批處理命令
有點(diǎn)兒晦澀難懂?那就記住一句話就可以了, Jenkins 的存在是為了簡(jiǎn)化我們的開發(fā)流程,比如我們往 git 上提交了代碼, Jenkins 就會(huì)自動(dòng)拉取最新的代碼幫我們部署
CentOS7 下 Jenkins 搭建過(guò)程
Jenkins 需要 jdk 環(huán)境,阿粉這里就不做示范了
安裝完 jdk 環(huán)境之后,就可以準(zhǔn)備安裝 Jenkins ,幾條命令即可(#后面為注釋內(nèi)容):
#下載Jenkins庫(kù)
wget?-O?/etc/yum.repos.d/jenkins.repo?https://pkg.jenkins.io/redhat-stable/jenkins.repo?
#導(dǎo)入key
rpm?--import?https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#安裝Jenkins
yum?install?-y?jenkins
#啟動(dòng)Jenkins服務(wù)
systemctl?start?jenkins?
到這里, CentOS 下 Jenkins 搭建便是完成了
此時(shí)我們可以通過(guò) ip:port 的方式,訪問(wèn)到 Jenkins ,如下圖所示:

點(diǎn)擊Continue之后,會(huì)出現(xiàn)下圖:

然后根據(jù)自己的需求,進(jìn)行安裝即可。到此, CentOS 下 Jenkins 搭建便是完成了
是不是還挺簡(jiǎn)單~
可能遇到的問(wèn)題
1 ,Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code.
運(yùn)行命令:?systemctl status jenkins.service?查看錯(cuò)誤詳細(xì)信息

請(qǐng)注意我在圖中標(biāo)注出來(lái)的兩個(gè)地方,第一個(gè)地方是 Jenkins 加載的路徑,第二個(gè)地方是 Jenkins 的錯(cuò)誤詳細(xì)信息:?Failed to start LSB: Jenkins Automation Server
這是因?yàn)?Jenkins 未加載到 java 環(huán)境的問(wèn)題,直接修改 Jenkins 的啟動(dòng)文件,并在 candiddates 參數(shù)內(nèi)追加 java 的環(huán)境變量即可
Jenkins的啟動(dòng)文件,在圖中第一個(gè)地方我已經(jīng)做了標(biāo)注,所以運(yùn)行以下命令:vi /etc/rc.d/init.d/jenkins
具體修改見下圖:

關(guān)于 java 環(huán)境變量這部分,因?yàn)槊總€(gè)人的配置不同,所以你需要根據(jù)自己的實(shí)際情況做修改。修改完之后再做以下步驟即可(#后內(nèi)容為注釋內(nèi)容):
#重新啟動(dòng)Jenkins服務(wù)
systemctl?restart?jenkins.service
#查看Jenkins服務(wù),可以看到服務(wù)已經(jīng)起來(lái)了
systemctl?status?jenkins.service
2 ,在 CentOS 環(huán)境下, Jenkins 已經(jīng)安裝好了,但是在外部訪問(wèn)不到。這可能是因?yàn)榉阑饓Φ膯?wèn)題
出于安全的考慮,我是不建議直接將防火墻關(guān)掉的。開啟 Jenkins 需要的端口即可(以開啟 8080 端口為例,具體可根據(jù)自己需求更改):
開端口命令:firewall-cmd --zone=public?--add-port=8080/tcp?--permanent
重啟防火墻:systemctl restart firewalld.service
命令含義:
?
--zone?#作用域
?
--add-port=80/tcp ?#添加端口,格式為:端口/通訊協(xié)議
?
--permanent???#永久生效,沒有此參數(shù)重啟后失效
因?yàn)?Jenkins 默認(rèn)端口是 8080 ,可能會(huì)導(dǎo)致端口沖突。修改 Jenkins 的默認(rèn)端口即可:?vi /etc/sysconfig/jenkins
在該配置文件中,可以看到 JENKINS_PORT 這一項(xiàng),根據(jù)需求修改即可
到這里, Jenkins 就已經(jīng)沒有任何問(wèn)題的安裝上了
< END >
