0

我正在使用 Artifactory 2.4.0 和 Jenkins 1.438,我有几个模块的 maven 项目。需要 Jenkins 将所有模块(jar 和一场由此产生的战争)部署到远程 Artifactory 服务器中。

我的 artifactory 用户管理员使用默认密码(密码),我尝试在 jenkins 上执行的所有构建都可以正常工作。因此,当我决定更改 de Artifactory 管理员密码并使用新的管理员凭据更新我的设置时,我在 jenkins 构建日志中出现以下错误:

无法在项目 PilotoExemplo 上执行目标 org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy):无法部署工件:无法传输工件 br.com.pilotoExemplo:pilotoExemplo:pom:2.1 .0.11-20120705.160113-1 从/到快照({ip_server}/artifactory/libs-snapshot-local):无法传输文件:{ip_server}/artifactory/libs-snapshot-local/br/com/pilotoExemplo/pilotoExemplo/2.1 .0.11-SNAPSHOT/pilotoExemplo-2.1.0.11-20120705.160113-1.pom。返回码是:401

以前有人见过这个问题吗?我在谷歌上没有找到类似这样的搜索。

这是我的 settings.xml:

  <mirrors>
    <mirror>
      <mirrorOf>*</mirrorOf>
      <name>repositorio</name>
      <url>{ip_server}/artifactory/repo</url>
      <id>repositorio</id>
    </mirror>
  </mirrors>

  <profiles>
    <profile>
      <repositories>
        <repository>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
          <id>central</id>
          <name>libs-release</name>
          <url>{ip_server}/artifactory/libs-release/</url>
        </repository>
        <repository>
          <snapshots />
          <id>snapshots</id>
          <name>libs-snapshot</name>
          <url>{ip_server}/artifactory/libs-snapshot/</url>
        </repository>
      </repositories>
      <pluginRepositories>
        <pluginRepository>
          <snapshots>
            <enabled>false</enabled>
          </snapshots>
          <id>central</id>
          <name>plugins-release</name>
          <url>{ip_server}/artifactory/plugins-release</url>
        </pluginRepository>
      </pluginRepositories>
      <id>artifactory</id>
      <distributionManagement>
    <repository>
        <id>release</id>
        <url>{ip_server}/artifactory/libs-release-local/</url>
    </repository>
    <snapshotRepository>
        <id>snapshot</id>
        <url>{ip_server}/artifactory/libs-snapshot-local/</url>
    </snapshotRepository>
      </distributionManagement>
    </profile>
  </profiles>

  <activeProfiles>
    <activeProfile>artifactory</activeProfile>
  </activeProfiles>

  <servers>
    <server>
      <id>snapshot</id>
       <username>admin</username>
      <password>newPassword</password>
    </server>

    <server>
      <id>release</id>
      <username>admin</username>
      <password>newPassword</password>
    </server>

    <server>
      <id>repositorio</id>
       <username>admin</username>
      <password>newPassword</password>
    </server>

  </servers>
4

2 回答 2

0

使用明文密码解决问题的提示:

  • 访问并登录 Artifactory。
  • 登录后,单击屏幕右上角的用户名。
  • 输入您的密码,然后在 em Unlockbutton 中输入密码,启用加密密码。
  • 复制将显示在屏幕下方的标签并将其粘贴到 settings.xml 文件中。如果您更喜欢只复制密码,请确保让它与下面显示的标记完全一致,包括密码开头的“\”。
  • 请记住在您的 POM.xml 中使用定义在标签中的服务器 id 来调整标签
  • 单击更新按钮并准备就绪!检查下一个项目发布时是否一切都会顺利进行。
于 2013-03-08T01:06:37.607 回答
0

据我所知,Jenkins 作业可以有自己的 M2 存储库,或者他们使用用户的存储库。所以答案可能是,您的 jenkins 作为服务(可能作为本地系统帐户)运行,而不是以您的用户的名义运行。

您可以在 Jenkins 设置/系统信息页面 (yourcontextroot/systemInfo) 中查看用户名。所以基本上解决方案是为正在运行的用户放置相同的设置文件,就像你一样。

于 2012-07-08T20:07:08.890 回答