本篇遇到的問題
還是因為Jenkins需要及其所在的OS需要升級,升級策略是在一臺新服務器上安裝和配置最新版本的Jenkins, 當前的最新版本是: 2.479.2 LTS。
如果需要這個版本的話可以在官方站點下載,也可以到如下地址下載:https://download.csdn.net/download/oscar999/90077696
在安裝完新環境之后,使用代碼的方式將原來的Job 在新的環境中都建立出來了,但是出現了一個問題:
原來的很多Job 是使用HTTP Request 插件配置的訪問一個Http地址,使用的是Basic的賬號和密碼驗證,但是轉換之后發現,在新的環境中 HTTP Request 已經無法配置Basic認證了。
具體的原因和解決方法下面逐步道來。
HTTP Request插件介紹
Jenkins HTTP Request插件是一個用于Jenkins持續集成/持續交付(CI/CD)平臺的開源插件。該插件通過發送HTTP請求到指定的URL,并根據響應結果來觸發相應的Jenkins作業狀態。它主要使用Java編程語言開發,充分利用了Jenkins插件架構的優勢,為Jenkins用戶提供了豐富的HTTP請求功能。
主要功能
-
支持多種HTTP方法:
- Jenkins HTTP Request插件支持GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD等多種HTTP方法,滿足不同場景的需求。
-
響應代碼范圍配置:
- 用戶可以指定期望的響應代碼范圍,如果實際響應代碼不在指定范圍內,作業將標記為失敗。這有助于確保只有符合預期的響應才會被接受。
-
認證支持:
- 插件支持Basic認證、表單認證和證書認證,確保只有授權用戶可以訪問資源。這增強了安全性,防止未經授權的訪問。
-
響應內容檢查:
- 用戶可以指定響應中必須包含的字符串,如果響應中不包含該字符串,作業將失敗。這有助于驗證響應內容是否符合預期。
-
連接超時設置:
- 用戶可以設置連接超時時間,防止作業因長時間等待而浪費資源。這有助于確保Jenkins作業的及時性和效率。
-
自定義請求頭:
- 支持設置自定義請求頭,方便與需要特定頭信息的API或服務進行交互。這增加了插件的靈活性和適用性。
其他功能
-
多部分表單數據支持:
- 新增了對multipart/form-data表單的支持,用戶可以發送包含文件和其他數據的復雜表單。
-
SSL錯誤忽略:
- 新增了忽略SSL錯誤的功能,方便用戶在測試環境中進行調試。
-
HTTP代理支持:
- 新增了對HTTP代理的支持,用戶可以通過代理服務器發送請求。
-
代理認證支持:
- 新增了對代理認證的支持,用戶可以通過代理服務器進行認證后發送請求。
-
響應內容驗證:
- 新增了對響應內容進行驗證的功能,用戶可以指定期望的響應內容,如果實際響應內容不符合預期,作業將失敗。
HTTP Request插件 的狀態
HTTP Request插件 目前的最新版本是1.19 , 發布于2024/07 , 但是這個插件被標識為"up for adoption",意味著該插件的當前維護者正在尋找新的貢獻者或維護者來接管插件的未來開發和維護工作。這通常發生在原始維護者沒有足夠的時間或資源來繼續支持插件,或者他們不再使用該插件。
HTTP Request
1.14 版本還可以使用Basic,但是已經有標識過時了, 配置的方式如下:
1、 進入System 的配置
- 下拉到HTTP Request 的配置區塊
但是,但是 , 在最新版本1.19 就直接取消Basic的配置了。
為什么1.19 不支持BASIC認證以及解決方法
HTTP Request 1.19 取消BASIC認證配置的原因就是安全性的考慮。
解決思路應該是有兩個:
- 回退版本, 先刪除已經安裝的 HTTP Request 1.19 的版本, 然后下載 1.14 的版本, 再通過上傳文件的方式安裝舊的版本。
需要 1.14 版本的可以到如下地址下載:
https://download.csdn.net/download/oscar999/90077863
2. 放棄使用 HTTP Request 的Basic 認證,直接使用Jenkins本身的 Credential 配置,步驟如下:
-
進入 Credential 的配置頁面
-
點擊 System
3) 點擊 Global Credential
- 點擊 Add Credential
- 在彈出的對話框中輸入用戶名、密碼
注意: 這里的ID保持和原來Basic 認證的名稱保持一致,這樣的話,配置完成之后,原來的Job就可以正常運行了。