如何在Linux(CentOS7)環境搭建 Jenkins 伺服器環境
最近,我自己要親手搭建一套完整的企業級 CI/CD 環境,這個環節裡面涉及了很多內容,沒有辦法把這麼多的內容都放在一篇文章裡,所以 Jenkins 的安裝和Java 的 JDK 安裝我就是分了兩篇文章來寫的。而且這套環境中也包含 Docker 容器,涉及的東西不少,有些東西,自己也是第一次遇到,所以就會遇到很多坑。說起來,安裝Jenkins伺服器環境,我也是大費周章。本來開始打算通過 Docker 安裝的,但是我在拉取 Jenkins 映象的時候,總是太慢,半天的時間都拉取不下來,可能有人會說,你換成國內的映象啊,我換了,剛開始很快,越到後面越慢,我也做了很多嘗試,但是,都沒解決,只能使用 Yum 安裝了。
一、Jenkins 簡介
Jenkins是一個開源軟體專案,是基於Java開發的一種持續整合工具,用於監控持續重複的工作,旨在提供一個開放易用的軟體平臺,使軟體的持續整合變成可能。
Jenkins 功能包括: 1、持續的軟體版本釋出/測試專案。
2、監控外部呼叫執行的工作。
二、Jenkins 安裝
廢話不多說,現在我們就開始安裝 Jenkins 伺服器的環境。
1、檢查環境是否安裝了 Java 的 JDK,因為 Jenkins 是用Java 語言寫的,要想安裝 Jenkins 之前,必須安裝 JDK。
命令:# java -version
上圖說明 Jenkins 的執行環境已經安裝成功。
2、yum 安裝 Jenkins。
這裡推薦使用yum方式安裝Jenkins,最簡單方便。yum的repos中預設是沒有Jenkins的,需要先將Jenkins儲存庫新增到yum repos。
(1)、在執行wget命令之前,必須確保該命令已經安裝,如果沒有安裝,請安裝。
命令:# yum install -y wget
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108103842295-1832565322.png)
(2)、執行 :# wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat/jenkins.repo
(3)、執行:# rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108104511224-293865711.png)
(4)、安裝 Jenkins。
命令:#
yum install jenkins
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108104733197-1174902750.png)
隨後就可以看到系統開始自動下載安裝。出現提示是否下載的時候輸入y並按回車。耐心等待安裝完成。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108105009464-1870400530.png)
(5)、修改配置。
現在Jenkins已經安裝好了,不過啟動之前最好稍微修改一下配置。預設情況是Jenkins是使用Jenkins使用者啟動的,但這個使用者目前系統並沒有賦予許可權,這裡我們將啟動使用者修改為root;另外Jenkins預設埠是8080,這個跟tomcat的預設埠衝突,我們也修改一下預設埠。Jenkins 配置檔案的目錄:
/etc/sysconfig/jenkins
。命令:
vi/vim /etc/sysconfig/jenkins
在執行 vim 命令的時候,先要確認該命令是否安裝,如果沒有安裝,那就安裝吧。
命令:# yum install -y vim
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108105911438-1497826928.png)
中間省略了很多步驟輸出。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108110100790-940969978.png)
開始修改 Jenkins 的配置檔案:# vim jenkins
【1】、修改 Jenkins 使用者名稱,改為:“root”。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108110540366-200399398.png)
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108110702747-169798950.png)
【2】、修改 Jenkins 的預設埠號:8080,我修改為:8084。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108110924564-573588716.png)
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108111028398-1819984821.png)
【3】、修改完畢,儲存退出。
命令:# wq
修改完配置後,儲存退出。好了,現在配置檔案也修改好了,可以啟動Jenkins了。
(6)、啟動 Jenkins 服務。
命令:#
service jenkins start
出現OK表示Jenkins啟動成功。(7)、在瀏覽器輸入ip:8084進入Jenkins登入頁面。
我的IP地址是:192.168.127.146,Jenkins 網頁地址:http://192.168.127.146:8084。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108111718891-1541490052.png)
這就是我們看到的正常頁面。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108114357852-2120000051.png)
如果通過地址訪問出現超時的情況,而且,Windows可以ping通虛擬機器的伺服器,虛擬機器伺服器也Ping 通 Windows伺服器,這種情況多是 Linux伺服器防火牆的問題,可以執行以下命令。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108114001287-710876965.png)
由於linux開啟了防火牆,導致windows無法訪問linux伺服器程式。
命令:# iptables -F
# iptables -P INPUT ACCEPT(設定預設允許規則)
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108114125171-1059092923.png)
(8)、檢視密碼:/var/lib/jenkins/secrets/initialAdminPassword
命令:# cat /var/lib/jenkins/secrets/initialAdminPassword
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108112936325-1987773783.png)
(9)、Jenkins首次登入,解鎖Jenkins。
進入登入頁面後,Jenkins提示我們需要輸入超級管理員密碼進行解鎖。根據提示,我們可以在/var/lib/jenkins/secrets/initialAdminPassword檔案裡找到密碼。找到密碼後,複製密碼,貼上到Jenkins解鎖頁面,點選Continue繼續初始化配置。
![](https://img2020.cnblogs.com/blog/1048776/202101/1048776-20210108115133913-2146973781.png)
(10)、Jenkins 安裝外掛。
這裡我們點選的Install suggested plugins,安裝預設外掛,當然你也可以點選另一個按鈕安裝指定的外掛。點選後,頁面進入了外掛下載安裝頁面。
外掛安裝頁面。
(11)、管理員賬戶註冊頁面。
耐心等待,全部外掛安裝完成。安裝完成後,頁面自動進入了管理員賬戶註冊頁面。
(12)、例項配置。
我選擇保持預設,直接點選【儲存並完成】。
(13)、Jenkins 安裝完成。
(14)、我們開始使用 Jenkins。
三、總結
好了,今天就寫到這裡了。今天雖然很鬱悶,因為了經歷了很多坑,本來2個小時可以完成的工作,一下子搞了4個多小時,不管怎麼說,最後還是把所有問題都解決了,值得慶賀。不忘初心,每天進步一點點。Jenkins 伺服器安裝成功了,下面該做其他工作了。安裝 Jenkins 只是為了搭建企業級 CI/CD環境的基礎。我們已經完成了第一步,繼續吧。