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

时间:2020-02-05 12:54:37

标签: maven azure-devops nexus

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

1 个答案:

答案 0 :(得分:1)

请尝试以下配置步骤。

(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任务传递来的值。这是一种安全的方法,您可以在Build管道中将它们配置为秘密变量。只需在定义中传递它们即可。

enter image description here

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

enter image description here