分享程式代碼相關筆記
目前文章總數:157 篇
最後更新:2024年 12月 07日
來自 Jenkins 插件的 Blue Ocean 說明:
Blue Ocean rethinks the Jenkins user experience.
Designed from the ground up for Jenkins Pipeline and compatible with Freestyle jobs,
Blue Ocean reduces clutter and increases clarity for every member of your team through the following key features:
大意是說:此插件適用於 Jenkins Pipeline 可視化(UI),提高開發成員的生產力,避免混亂
Blue Ocean Github 開源網址
官方中文參考網站
優點有以下:
1. 可視化 | : | 對持續交付(CD)Pipeline 進行複雜的可視化,使軟體 Pipeline 狀態的快速和直觀理解成為可能。 |
2. 創建 Pipeline 工具 | : | Pipeline 編輯器通過引導使用者通過直觀和可視化的過程來創建 Pipeline ,使自動化 CD Pipeline 變得容易。 |
3. 可選擇使用介面 | : | 個性化 Jenkins 使用者介面,以滿足每個 DevOps 團隊成員的基於角色的需求 |
4. 錯誤凸顯 | : | 當需要干預和/或出現問題時,精確定位。Blue Ocean 使用者介面顯示 Pipeline 中需要關注的部分,促進異常處理並提高生產力。 |
5. 整合請求 | : | 與分支和拉取請求的原生集成,在 GitHub 和 Bitbucket 上與他人協作編寫程式碼時,最大限度地提高開發人員的生產力。 |
1. 團隊習慣 | : | 如果是 Jenkins 早期開發者可能都習慣於 Blue Ocean |
2. Jenkins版本 | : | Blue Ocean 約在2017, 2018年誕生,如果 Jenkins 無法升級到最新版本 (Jenkins 版本在 2.100 ~ 2.426.3) |
2023年底 Pipeline Graph View 套件已經漸漸取代 Blue Ocean 在安裝最新版 Jenkins 時就會預設安裝。
經典的 Jenkins Pipeline Job 並沒有可視化,排錯只能用肉眼,對於開發者與管理者很不方便。
以下有一個 GitFlowExampleMain 的 Pipeline Job
看 Job 內容可以發現一片空白,Jenkins 預設 Pipeline 是沒有可視化功能
要排查建置過程是否有錯誤,只能從 Console log 中用肉眼掃描,或者下 Ctrl + F ,很不友善
依序選擇 管理 Jenkins -> Plugins -> Available plugins -> 搜尋 Blue Ocean
選擇安裝整合版本的,如圖:
整合包會將所有 Blue Ocean 安裝齊全
可以於 Jenkins URL 中輸入 restart 重啟 (選擇’是’)
http:\\localhost:8080\restart
或者將機器重啟 (此為 Windows Desktop For Docker 因此重啟容器)
登入後,左側多了一個按鈕,使用者可以依照自己喜好切換到 Blue Ocean 介面
切換到 Blue Ocean 後,點擊剛剛的 Pipeline Job
可以看到建置過程,已經變為可視化,當有錯的時候可以看那個節點有異常
點擊節點後,也可以展開執行內容的過程
回到首頁 -> 右側創建流水線 -> 點擊
這邊為了說明,使用之前 GitFlow 的Public Repository
選擇 Git 方式
填上正確資訊後,選擇創建流水線
一個屬於 MutiBranch Pipeline Job 會進行 Scan 分支,並且快速建立完成
並且稍等下,會立刻自動進行建置,完成流水線創建
之所以可以自動創建,是需要先在 Repository 下保存 Jenkinsfile 檔案,將 Groovy 腳本放入
腳本內容:
pipeline {
agent any
stages {
stage('Git Checkout') {
steps {
git branch: 'main', url: 'https://github.com/gotoa1234/GitFlowTemplate.git'
sh """
git checkout ${params.GIT_HASH}
"""
}
}
stage('Building') {
steps {
script {
sh """
dotnet build GitFlowWebSiteExample/GitFlowWebSiteExample.csproj -c Release -o GitFlowWebSiteExample/publish/GitFlowWebSiteExamplePackage
"""
}
}
}
stage('Test') {
parallel {
stage('Test-A') {
steps {
// 測試命令 - 假裝自動化測試
echo "Test-A running tests... (Mock)"
}
}
stage('Test-B') {
steps {
// 測試命令 - 假裝自動化測試
echo "Test-B running tests... (Mock)"
}
}
stage('Test-C') {
steps {
// 測試命令 - 假裝自動化測試
echo "Test-C running tests... (Mock)"
}
}
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
}
failure {
echo 'This will run only if failed'
}
}
}
在 Jenkins 2.452.1 以上都會預設安裝 Pipeline Graph View 套件
以下說明來源於 Pipeline Graph View 插件
Vision
This plugin aims to bring the best of Blue Ocean into the regular Jenkins UI.
That means functionality like:
Pipeline graph
Summary of runs in a job (like Pipeline Stage View Plugin, but simpler, more modern and more performant)
Modern logs viewing
The plugin should be lightweight, using or providing extension points where possible rather than building everything into one plugin.
Pipeline Graph View 融合 Jenkins 經典 + Blue Ocean 有以下畫面
並且可以點擊節點 (Test 為例)
Pipeline Graph View 也可以展開資料內容,檢視建置過程:
Pipeline Graph View 也有 Blue Ocean 的創建流水線
Jenkins 首頁 -> 建立一個新 Job -> MultiBranch Pipeline