如何将 Nexus 凭据传递到 Azure DevOps 服务器

How to pass Nexus credentials to Azure DevOps server

我正在 Azure 管道上构建 Java 项目。我添加了一个 Maven 任务来部署项目。如何将 Nexus 凭据传递给 Maven?我知道我们可能需要更新 settings.xml。谁能建议如何实现这一目标?谢谢

请尝试以下配置步骤。

(1) 在您的 pom.xml 文件中添加一个部分来描述您的 Nexus 存储库。

在您的 pom.xml 中,请将 repository 设置为与任务中为 Maven 指定的名称相同的 <id>,以便它能够正确验证任务。

示例:

  <repositories>
    <repository>
      <id>MyNexus</id>
      <url>http://xxxxx/nexus/content/repositories/releases</url>
    </repository>
    <repository>
      <id>MyNexus.snapshots</id>
      <url>http://xxxxx/nexus/content/repositories/snapshots</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>
  </repositories>

(2)settings.xml 中指定凭据,以便 Maven 任务可以使用它来访问 Nexus 存储库。

样本:

  <servers>
    <server>
      <id>MyNexus</id>
      <username>${MyNexusUsername}</username>
      <password>${MyNexusPassword}</password>
    </server>
  </servers>

(3) 你可以看到,这里我使用的变量可以接受从 Maven 任务传递的值。这是一种安全的方式,您可以在构建管道中将它们配置为秘密变量。只需在定义中传递它们即可。

然后在Maven任务中传递那些变量: