首页 > 解决方案 > Azure Devops CI 管道无法连接到私有存储库以获取依赖项以构建工件

问题描述

Maven 构建任务 -> 私有存储库中的依赖项很少。在运行 CI 管道时,它无法连接到该私有仓库。下载依赖项并继续。

  1. 是否与需要创建的防火墙或服务连接有关。
  2. 我们能否将这些依赖项放在 azure artifact 中,并在 cuild 时从中提供 CI 管道。请为此提供示例代码。

标签: azure-devopscontinuous-integrationrepositoryazure-pipelinesbuild-dependencies

解决方案


如果私有 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 工件源的依赖项。trueAdvanced

在此处输入图像描述

但是,另一种验证您的提要的方法是使用Maven Authenticate task. 请参见下文:选择您的 Maven 提要以在管道中进行身份验证。

在此处输入图像描述

如果您想在当前组织之外使用 Maven 存储库。您需要按照上述步骤为此存储库创建 Maven 服务连接。


推荐阅读