在 Jenkins 中配置 Git 分支選擇
一、概述
在本文中,我們將創建一個構建 Git 項目的 Jenkins 作業。然後,我們將看到如何選擇我們要構建的分支。為此,我們將使用 Active Choices 插件。
2. 安裝 Active Choices 插件
首先,我們將安裝 Active Choices 插件。在 Jenkins 的左側面板中,我們點擊Manage Jenkins
:
然後,在System Configuration
面板中,讓我們選擇Manage Plugins
:
最後,我們轉到Available
部分,在過濾器輸入中鍵入Active Choices
,然後勾選該框:
我們現在可以單擊Install without restart
按鈕,安裝將繼續進行!
3. 創造就業
現在讓我們創建我們的工作並配置分支選擇。
3.1.創建參數化作業
要創建作業,請在 Jenkins 的左側面板中單擊New Item
:
出現創建物品的界面。讓我們調用我們的Freestyle project
Demo Git branch configuration
:
我們現在位於作業的配置頁面上。在General
部分,讓我們勾選This project is parameterized
複選框。然後,我們將打開Add Parameter
下拉菜單並選擇Active Choices Reactive Parameter
:
點擊後,彈出參數配置界面。
3.2.添加 Groovy 腳本以獲取分支
我們現在可以配置我們的反應參數。我們將其稱為branch
並將其保留為Single Select
:
現在讓我們勾選Groovy Script
並填寫使用以下腳本出現的Script
部分:
def gitUrl = "https://github.com/eugenp/tutorials.git"
def gitBranches = "git ls-remote --heads ${gitUrl}".execute().text.readLines().collect { it.split()[1].replaceAll("refs/heads/", "") }.sort().reverse()
首先,我們定義了要簽出的 GitHub 存儲庫的 URL。然後我們使用git ls-remote
命令檢索有關此存儲庫的遠程分支的信息。我們將此信息轉換為文本行的集合:每一行都代表一個不同的分支。分支名稱是每行中的第二個元素。此外,為了清楚起見,我們從每個分支名稱中刪除了refs/heads
前綴。最終,我們按字母順序對列表進行了排序,以方便用戶使用。
3.3.配置源代碼管理
現在讓我們轉到Source Code Management
小節。為了完成作業的配置,我們需要勾選Git
而不是None
。將顯示配置 Git 存儲庫的界面。我們將填寫Repository URL
:它與我們放入 Groovy 腳本中的相同。我們還需要指定要構建的分支。由於我們調用了我們的反應參數branch
,我們將把${branch}
放在這個字段中:
我們現在可以單擊頁面底部的Save
按鈕,我們就完成了作業的創建!
4.用法
我們現在已經登陸了Demo Git branch configuration
項目的根頁面。在左側面板中,我們點擊Build with Parameters
:
我們現在被要求選擇要構建的分支。我們的示例存儲庫有一個唯一的master
分支。因此它是唯一可用的選項:
5.結論
在本教程中,我們安裝了 Active Choices 插件。它幫助我們創建了一個參數化的作業。我們的參數包含我們 GitHub 存儲庫所有分支的列表,通過 Groovy 腳本獲取。這一切都使我們能夠在運行我們的工作時選擇要構建的分支。