天天看點

安裝 Jenkins

Jenkins 是非常流行的 DevOps 工具,特别是 Jenkins 2 的 Jinkins Pipeline 和 Configuration As Code 對于實施 DevOps 非常有幫助。千裡之行始于足下,體驗 Jenkins 的魅力也可以從安裝一個節點和最簡單的 “Hello World” 開始。

本文介紹在 Ubuntu 16.04.6 LTS 和 Ubuntu 18.04.2 LTS 安裝 Jenkins 并使用最簡單的建構項目驗證 Jenkins 安裝。

系統環境和要安裝軟體的版本

本次安裝中使用的主要軟體版本如下:

  • Ubuntu 16.04.6 LTS 或 Ubuntu 18.04.2 LTS
  • openjdk version "1.8.0_212" 或 openjdk version "11.0.3"
  • Jenkins 2.164.3

安裝 Jenkins

2018 年, Jenkins 官網有了中文站,

Jenkins Handbook

給出了詳細的

安裝方法

, 以 Ubuntu 為例,隻需運作:

wget -q -O - https://pkg.jenkins.io/debian/jenkins.io.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update
sudo apt-get install jenkins           

即可完成 jenkins 的安裝,安裝過程會建立一個

jenkins

使用者來運作 jenkins 服務。

Jenkins 需要 Java versions [8, 11], 如果未安裝 Java 或 版本不正确,在啟動 Jenkins 服務時會出現錯誤,如:

May 30 14:55:19 ecs-devops-test systemd[1]: Starting LSB: Start Jenkins at boot time...
May 30 14:55:19 ecs-devops-test jenkins[5464]: ERROR: No Java executable found in current PATH: /bin...bin
May 30 14:55:19 ecs-devops-test jenkins[5464]: If you actually have java installed on the system mak...ath
May 30 14:55:19 ecs-devops-test systemd[1]: jenkins.service: Control process exited, code=exited status=1
May 30 14:55:19 ecs-devops-test systemd[1]: Failed to start LSB: Start Jenkins at boot time.
May 30 14:55:19 ecs-devops-test systemd[1]: jenkins.service: Unit entered failed state.
May 30 14:55:19 ecs-devops-test systemd[1]: jenkins.service: Failed with result 'exit-code'.           

或者

tail /var/log/jenkins/jenkins.log

時可以檢視到:

Jenkins requires Java versions [8, 11] but you are running with Java 9 from /usr/lib/jvm/java-9-openjdk-amd64
java.lang.UnsupportedClassVersionError: 53.0
        at Main.verifyJavaVersion(Main.java:174)
        at Main.main(Main.java:142)           

如果在運作以上指令前未安裝 jdk 可能會出現錯誤,按照錯誤提示,安裝合适版本的 java 或 jdk, 并確定

jenkins

使用者适用的 java 版本正确即可。在 Ubuntu 下,可運作

sudo apt-get install openjdk-8-jdk-headless

安裝 openjdk-8-jdk-headless, 或者運作

sudo apt-get install openjdk-11-jdk-headless

安裝 openjdk-11-jdk-headless, 安裝的 jdk 還可用于 java 項目的建構。

安裝後重要的檔案有:

  • /etc/init.d/jenkins

    : 将Jenkins設定為啟動時啟動的守護程序
  • /var/log/jenkins/jenkins.log

    : 日志
  • /etc/default/jenkins

    : 配置參數
  • /var/lib/jenkins/secrets/initialAdminPassword

    : 初始密碼

如果需要修改預設的監聽端口 8080, 可編輯檔案

/etc/default/jenkins

, 然後運作

sudo service jenkins restart

重新啟動 jenkins 服務。

視伺服器網絡環境,可能還需要在安全組中開啟 jenkins 監聽端口,以便用戶端通路 jenkins 服務。

設定向導

jenkins 服務正常啟動後,使用浏覽器通路 jenkins 服務,如果通路本機 8080 端口上的 jenkins 服務,通路位址為

http://localhost:8080

。首次通路 jenkins 服務将進入設定向導,包括安裝自定義插件、建立管理者使用者。

解鎖 Jenkins

首次通路新的 Jenkins 執行個體時,系統會要求使用自動生成的密碼對其進行解鎖,如下圖:

安裝 Jenkins

圖1. 解鎖 Jenkins

按照提示資訊,複制檔案

/var/lib/jenkins/secrets/initialAdminPassword

中的内容作為管理者密碼,單擊 "繼續" 進入下一步。

自定義 Jenkins 插件

解鎖 Jenkins 之後,在 "自定義 Jenkins" 頁面内,可以選擇安裝 Jenkins 插件。

安裝 Jenkins

圖2. 自定義 Jenkins 插件

圖2 中有 2 個選項:

  • 安裝推薦的插件 - 跳過 “選擇插件” 直接安裝推薦的一組插件。
  • 選擇插件來安裝 - 基于推薦的插件,選擇安裝的插件。

因為以後可以通過 Jenkins 中的 Manage Jenkins » Manage Plugins 頁面管理插件,選擇哪個選項并不重要。但推薦單擊 "選擇插件來安裝",至少可以先看一下有哪些推薦插件,如果不進行任何改動,直接單擊 "安裝",則與單擊 "安裝推薦的插件" 一樣。

安裝 Jenkins

圖3. 選擇插件

安裝 Jenkins

圖4. 安裝插件

建立管理者使用者

在安裝插件完成後, Jenkins 提示建立第一個管理者使用者,在該頁面輸入管理者使用者的詳細資訊,單擊 "儲存并完成"。

安裝 Jenkins

圖5. 建立第一個管理者使用者

此後則需要以建立的使用者通路 Jenkins.

如果在此頁面中單擊 "使用 admin 賬戶繼續",則跳過此步驟。後續再通路 Jenkins 時,需要使用使用者名為 admin 的賬戶,密碼為解鎖 Jenkins 時使用的密碼。

執行個體配置

建立管理者使用者完成後,會提示執行個體配置,這一步也不重要, Jenkins URL 以後可以通過 Manage Jenkins » Configure System » Jenkins Location » Jenkins URL 修改。

安裝 Jenkins

圖6. 執行個體配置

單擊 "儲存并完成" 進入下一步。

開始使用 Jenkins

執行個體配置完成後,會提示 Jenkins 已就緒,單擊 "開始使用 Jenkins" 進入到歡迎頁面,可以建立新任務。

安裝 Jenkins

圖7. Jenkins 已就緒

安裝 Jenkins

圖8. 歡迎頁面

更改界面語言

Jenkins UI 界面預設使用本地語言,雖然中文翻譯得非常好,但并不是所有的插件都有中文翻譯,螢幕上經常會出現一半英文一半中文。最主要的是以後編碼還是要使用英文,很多幫助文檔也是英文的,是以有時需要更改界面語言。

更改界面語言需要安裝一個名為

Locale plugin

的插件。進入 Manage Jenkins » Manage Plugins 頁面,在 Filter 中輸入 Locale plugin, 在 Available 或 Installed 頁簽中找到該插件,確定該插件已經安裝。

然後在 Manage Jenkins » Configure System » Locale » Default Language 中輸入語言代碼, 英文可輸入 en 或 en.US, 并選中 "Ignore browser preference and force this language to all users"。

安裝 Jenkins

圖9. 界面語言設定

以下截圖将使用英文界面。

Hello World

在 Jenkins 首頁面點選 "New Item" 或 "create new jobs", 輸入項目名稱,選擇 "Freestyle project", 然後單擊 "OK"。

安裝 Jenkins

圖10. 建立項目

在項目配置頁面,添加一個 "Execute shell" 的建構步驟。

安裝 Jenkins

圖11. 添加建構步驟

在接下來的界面添加一個簡單的 Shell Command,

echo "Hello World"

, 然後單擊 "Save"。

安裝 Jenkins

圖12. 添加 Shell Command

在接下來的項目界面中單擊 "Build Now" 啟動手工建構。

安裝 Jenkins

圖13. 項目界面

手工建構完成後,項目界面中出現建構曆史。

安裝 Jenkins

圖14. 建構曆史

單擊最近也是目前唯一的一次建構 "#1", 在建構頁面中單擊 "Console Output" 可以看到建構結果。

安裝 Jenkins

圖15. 建構結果

繼續閱讀