Jenkins 的HTTP Request 插件为什么不能配置Basic认证了

本篇遇到的问题

还是因为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请求功能。

主要功能

  1. 支持多种HTTP方法:

    • Jenkins HTTP Request插件支持GET、POST、PUT、PATCH、DELETE、OPTIONS、HEAD等多种HTTP方法,满足不同场景的需求。
  2. 响应代码范围配置:

    • 用户可以指定期望的响应代码范围,如果实际响应代码不在指定范围内,作业将标记为失败。这有助于确保只有符合预期的响应才会被接受。
  3. 认证支持:

    • 插件支持Basic认证、表单认证和证书认证,确保只有授权用户可以访问资源。这增强了安全性,防止未经授权的访问。
  4. 响应内容检查:

    • 用户可以指定响应中必须包含的字符串,如果响应中不包含该字符串,作业将失败。这有助于验证响应内容是否符合预期。
  5. 连接超时设置:

    • 用户可以设置连接超时时间,防止作业因长时间等待而浪费资源。这有助于确保Jenkins作业的及时性和效率。
  6. 自定义请求头:

    • 支持设置自定义请求头,方便与需要特定头信息的API或服务进行交互。这增加了插件的灵活性和适用性。

其他功能

  1. 多部分表单数据支持:

    • 新增了对multipart/form-data表单的支持,用户可以发送包含文件和其他数据的复杂表单。
  2. SSL错误忽略:

    • 新增了忽略SSL错误的功能,方便用户在测试环境中进行调试。
  3. HTTP代理支持:

    • 新增了对HTTP代理的支持,用户可以通过代理服务器发送请求。
  4. 代理认证支持:

    • 新增了对代理认证的支持,用户可以通过代理服务器进行认证后发送请求。
  5. 响应内容验证:

    • 新增了对响应内容进行验证的功能,用户可以指定期望的响应内容,如果实际响应内容不符合预期,作业将失败。

HTTP Request插件 的状态

HTTP Request插件 目前的最新版本是1.19 , 发布于2024/07 , 但是这个插件被标识为"up for adoption",意味着该插件的当前维护者正在寻找新的贡献者或维护者来接管插件的未来开发和维护工作。这通常发生在原始维护者没有足够的时间或资源来继续支持插件,或者他们不再使用该插件。

HTTP Request

1.14 版本还可以使用Basic,但是已经有标识过时了, 配置的方式如下:

1、 进入System 的配置

  1. 下拉到HTTP Request 的配置区块

但是,但是 , 在最新版本1.19 就直接取消Basic的配置了。

为什么1.19 不支持BASIC认证以及解决方法

HTTP Request 1.19 取消BASIC认证配置的原因就是安全性的考虑。

解决思路应该是有两个:

  1. 回退版本, 先删除已经安装的 HTTP Request 1.19 的版本, 然后下载 1.14 的版本, 再通过上传文件的方式安装旧的版本。

需要 1.14 版本的可以到如下地址下载:
https://download.csdn.net/download/oscar999/90077863

  1. 放弃使用 HTTP Request 的Basic 认证,直接使用Jenkins本身的 Credential 配置,步骤如下:

  2. 进入 Credential 的配置页面

  3. 点击 System

3) 点击 Global Credential

  1. 点击 Add Credential
  1. 在弹出的对话框中输入用户名、密码
    注意: 这里的ID保持和原来Basic 认证的名称保持一致,这样的话,配置完成之后,原来的Job就可以正常运行了。


相关推荐
吴声子夜歌20 小时前
Nginx应用与运维——Nginx HTTP模块详解(动态赋值功能模块)
运维·nginx·http
傲世仙尊1 天前
HTTP请求与应答-URL全网唯一文件路径报文结构与短连接
网络·网络协议·http
Zhou1411362 天前
CICD_01_持续集成与Jenkins入门
运维·ci/cd·jenkins
傲世仙尊2 天前
HTTP起步-URL域名解析与协议的本质
网络·网络协议·http
ControlRookie2 天前
第27篇_综合排障|从现象反查状态、错误码、指标和连接快照
http·codesys·plc通信
大貔貅喝啤酒2 天前
Gitea+Jenkins+Docker 搭建 Node 项目 CI/CD 自动部署完整教程
ci/cd·docker·jenkins·js·gitea
天天喝旺仔3 天前
gRPC 底层原理:HTTP/2 多路复用、Protobuf 序列化与四种流模式
分布式·http·微服务·rpc
liangshanbo12153 天前
面试题:页面需要发起大量 Ajax / HTTP 请求时,如何优化请求性能?
前端·http·ajax
零域码客3 天前
零基础Python爬虫入门:从HTTP协议到 requests + BeautifulSoup 实战
爬虫·python·http
被摘下的星星3 天前
HTTP 状态码 和 网络端口号
网络·网络协议·http