Maven 构建时,如何使用 HTTP 协议的 Nexus?
场景描述
目前平台默认支持 HTTPS 协议的 Nexus,当 Nexus 使用 HTTP 协议的依赖仓库时,使用 Maven 构建 或 Maven 构建并分发 模板创建的 Jenkins 流水线会执行报错,因为平台默认提供了 Maven 3.8.1 版本,该工具官方处于安全考虑在 Maven 3.8.1 之后禁止了 HTTP 协议的使用。若需要使用 HTTP 协议的 Nexus,可按照下面的操作步骤解决。
前提条件
您使用的 Jenkins 须为平台快速部署并集成的 Jenkins 工具。
解决方法
-
在左侧导航栏中,单击 工具链管理 > 工具链集成。
-
单击 Jenkins 工具卡片。
-
单击 实例 右侧的 实例名称,进入部署详情页面。
-
在下方的 构建节点 区域,找到平台默认的构建节点 Java。
-
单击 更新构建节点,开启 Maven Settings 文件 开关,将以下代码粘贴进 内容 代码框中:
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> <mirrors> <mirror> <id>maven-default-http-blocker</id> <mirrorOf>!*</mirrorOf> <name>Pseudo repository to mirror external repositories initially using HTTP.</name> <url>http://0.0.0.0/</url> <blocked>true</blocked> </mirror> </mirrors> </settings>
-
单击 更新,更新完成后请重新触发流水线,即可使用 HTTP 协议拉取依赖包。