0

Artifactory 2.4.0 と Jenkins 1.438 を使用しており、いくつかのモジュールを含む maven プロジェクトがあります。すべてのモジュール (jar と 1 つの結果の war) を Jenkins によってリモートの Artifactory サーバーにデプロイする必要があります。

Artifactory のユーザー管理者はデフォルトのパスワード (password) を使用しており、jenkins で実行しようとしたすべてのビルドは正常に動作します。そのため、Artifactory の管理者パスワードを変更し、管理者の新しい資格情報で設定を更新することを決定したとき、jenkins ビルド ログに次のエラーが発生しました。

目標 org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) プロジェクト pilotoExemplo の実行に失敗しました: アーティファクトのデプロイに失敗しました: アーティファクトを転送できませんでした 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/pilotExemplo-2.1.0.11-20120705.160113-1.pom. 戻りコード: 401

以前にこの問題を見た人はいますか?Google でこの検索のようなものは見つかりませんでした。

これが私の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がサービスとして(おそらくローカルシステムアカウントとして)実行されており、 userの名前では実行されていない可能性があります

ユーザー名は、Jenkins の設定/システム情報ページ (yourcontextroot/systemInfo) で確認できます。したがって、基本的な解決策は、実行中のユーザーに同じ設定ファイルを配置することです。

于 2012-07-08T20:07:08.890 に答える