azure-devops - Azure Devops CI 管道无法连接到私有存储库以获取依赖项以构建工件
问题描述
Maven 构建任务 -> 私有存储库中的依赖项很少。在运行 CI 管道时,它无法连接到该私有仓库。下载依赖项并继续。
- 是否与需要创建的防火墙或服务连接有关。
- 我们能否将这些依赖项放在 azure artifact 中,并在 cuild 时从中提供 CI 管道。请为此提供示例代码。
解决方案
如果私有 Maven 存储库托管在本地服务器上。您需要在可以访问私有存储库的本地计算机上创建一个自托管代理。
并且您需要在您的 azure devops 项目中创建一个maven 服务连接(项目设置s--> Pipelines下的服务连接 -- > New service connection -->select Maven)。
然后您需要在您的自托管代理上运行您的管道(选择您的自托管代理所在的代理池),因为微软托管的代理无法访问托管在您本地服务器上的私有存储库。并添加Maven Authenticate 任务以在构建期间对您的私有存储库进行身份验证。在字段中选择上述步骤中创建的 maven 服务连接Credentials for repositories outside this organization/collection
(也mavenServiceConnections
以 yaml 格式管道)
您还可以将这些依赖项放在 azure artifact feed 中。请查看此快速入门以在您的 azure devops 中创建一个 maven 提要并将您的依赖项发布到它。并按照说明通过将 repo 添加到您的 pom.xml 文件来设置您的项目。
然后你需要在你的Maven 任务mavenFeedAuthenticate
中设置参数。(在经典 UI 任务的设置中)。现在,您应该能够下载发布到管道中的 azure 工件源的依赖项。true
Advanced
但是,另一种验证您的提要的方法是使用Maven Authenticate task
. 请参见下文:选择您的 Maven 提要以在管道中进行身份验证。
如果您想在当前组织之外使用 Maven 存储库。您需要按照上述步骤为此存储库创建 Maven 服务连接。
推荐阅读
- google-cloud-platform - 设置多个 Ubuntu 服务器
- javascript - 创建 n 个 JSON 数组的连续块
- javascript - 与缓存 SVG 数据相比,从磁盘读取 SVG 图标文件?
- javascript - 如何让其他计算机能够访问我的 socket.io 服务器
- vb.net - 当函数在VB.Net中可能有可变数量的参数时,将函数作为参数传递的有效且实用的方法?
- c# - MediaElement 在 WPF C# 中不显示视频
- r - 使用 lidR 绘制点云时的比例尺
- python - Django Robots.txt 更改内容类型标头
- python - 我们可以在类中使用方法定义内部的变量而不在方法外部和类内部先验定义它吗?
- python - 递归调用被循环中断