天天看點

[Jenkins]CentOS7下Jenkins搭建

最近在倒騰Kubernetes的一些東西,這次需要用到Jenkins來實作自動化建構.來講一講搭建的整個過程.

Jenkins是什麼

Jenkins提供了軟體開發的持續內建服務.它運作在Servlet容器中(例如Apache Tomcat).它支援軟體配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和RTC),可以執行基于Apache Ant和Apache Maven的項目,以及任意的Shell腳本和Windows批處理指令

CentOS7下Jenkins搭建過程

Jenkins需要jdk環境:【Linux】CentOS7.0下安裝JDK環境

接下來我們開始準備安裝Jenkins,幾條指令即可(#後面為注釋内容):

#下載下傳Jenkins庫
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo 
#導入key
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
#安裝Jenkins
yum install -y jenkins
#啟動Jenkins服務
systemctl start jenkins 
           

到這裡,CentOS下Jenkins搭建便是完成了.

此時我們可以通過ip:port的方式,通路到Jenkins,如下圖所示

[Jenkins]CentOS7下Jenkins搭建

點選Continue之後,會出現下圖:

[Jenkins]CentOS7下Jenkins搭建

然後根據自己的需求,進行安裝即可.到此,CentOS下Jenkins搭建便是完成了.

可能遇到的問題
  • Starting jenkins (via systemctl): Job for jenkins.service failed because the control process exited with error code.
  • 運作指令:systemctl status jenkins.service  檢視錯誤詳細資訊
               
    [Jenkins]CentOS7下Jenkins搭建

    請注意我在圖中标注出來的兩個地方,第一個地方是Jenkins加載的路徑,第二個地方是Jenkins的錯誤詳細資訊:Failed to start LSB: Jenkins Automation Server

    這是因為Jenkins 未加載到 java 環境的問題,直接修改 Jenkins 的啟動檔案,并在 candiddates 參數内追加 java 的環境變量即可

    Jenkins的啟動檔案,在圖中第一個地方我已經做了标注,是以運作以下指令:

    vi /etc/rc.d/init.d/jenkins
               
    具體修改見下圖:
    [Jenkins]CentOS7下Jenkins搭建
    關于java環境變量這部分,因為每個人的配置不同,是以你需要根據自己的實際情況做修改.如果是按照我開篇給出的方法安裝的jdk環境,可以直接套用.然後再做以下步驟即可(#後内容為注釋内容):
    #重新啟動Jenkins服務
    systemctl restart jenkins.service
    #檢視Jenkins服務,可以看到服務已經起來了
    systemctl status jenkins.service
               
  • 在CentOS環境下,Jenkins已經安裝好了,但是在外部通路不到.這可能是因為防火牆的問題.出于安全的考慮,我是不建議直接将防火牆關掉的.開啟Jenkins需要的端口即可(以開啟8080端口為例,具體可根據自己需求更改):
  • 開端口指令:firewall-cmd --zone=public --add-port=8080/tcp --permanent
    重新開機防火牆:systemctl restart firewalld.service
               
  • 因為Jenkins預設端口是8080,可能會導緻端口沖突.修改Jenkins的預設端口即可:
  • vi /etc/sysconfig/jenkins
    在該配置檔案中,可以看到JENKINS_PORT這一項,根據需求修改即可.
               

繼續閱讀