Jenkins中的Nexus凭据

12

我有一个Jenkins任务,应该构建一个Jar并将其添加到Nexus。 我已经配置了后期构建操作,以将Maven构件部署到Nexus存储库。

问题是,Nexus需要用户名和密码。 我应该如何在Jenkins中设置它们? 我无法访问jenkins settings.xml文件。 我需要在Jenkins任务本身中传递用户名和密码。

3个回答

4

看一下“Config File Provider”插件。它允许您提供自己的settings.xml文件供Jenkins使用,您可以在其中配置可能需要的所有凭据。


我正在使用这个插件来输入<user>和<password>,但是我能否也用它来输入在<flyway.placeholders.db.user>和<flyway.placeholders.db.password>之间定义的用户和密码? - DenCowboy
不要只是把人们指向其他地方。回答问题时,假设他们已经去过那里,但没有成功。 - BevynQ

0
以下是构建完成后从Jenkins上传artifact到Nexus3的步骤。这个过程对我很有效,希望你也会觉得有用。
  1. 在Jenkins中添加nexus-artifact-uploader插件。
  2. 在Jenkins中创建一个新的用户名密码凭据,其中用户名和密码是您用于连接nexus的凭据。
  3. 在作业的配置页面中,在“后置步骤”区域中,选择Nexus artifact uploader。
    • 选择Nexus3作为Nexus版本
    • 选择可用协议(您的nexus正在使用的协议)
    • 提供您的nexus的主URL(不包括存储库/存储库名称)
    • 在凭据区域中提供您在第2步中创建的凭据
    • 对于groupId,请输入:${POM_GROUPID}
    • 对于版本,请输入:${POM_VERSION}
    • 在存储库字段中,输入nexus中您的存储库的名称
  4. 然后,您应该通过按添加来添加要上传的特定工件。我个人添加了两个工件,即默认打包(可能是jar)和pom:
    • 添加具有以下字段的工件:
      • ArtifactId:${POM_ARTIFACTID}
      • Type:${POM_PACKAGING}
      • 文件:target/${POM_ARTIFACTID}-${POM_VERSION}.${POM_PACKAGING}
    • 另一个用于pom:
      • ArtifactId:${POM_ARTIFACTID}
      • Type:pom
      • 文件:pom.xml
  5. 保存配置并返回作业主页面。
  6. 完成所有这些后,通过手动触发作业来尝试一下。
  7. 祈祷一切顺利,您将能够在构建日志中看到上传过程。

0
Jenkins及其插件正在使用您的Maven属性。您应该按照以下说明在Maven settings.xml中提供Nexus Repo详细信息的凭据。
<servers>
<!-- This server.id matches my nexus group -->
<server>
<id>nexus-group</id>
<username>release</username>
<password>****</password>
</server>

问题是我没有访问Jenkins服务器的setting.xml。有没有一种方法可以在不配置setting.xml的情况下完成? - Adiant
如果您不想使用Maven,您是否可以接受使用Shell CLI从Nexus仓库获取所需内容? - DevD
4
我想以通常的方式使用Maven和Jenkins。问题是,我需要找到一种方法将Nexus的用户名和密码放在Jenkins作业本身中,而不是在settings.xml中。 - Adiant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接