0

Mercurial、Maven、Hudsonを使用しています

「release:preparerelease:perform」の目標を実行するテストプロジェクトを作成し、Hudsonでfreestyle /Maven3ジョブを設定しました。これは正常に実行されます。

次に、テストプロジェクトをコピーし、「リポジトリURL」と「リポジトリブラウザURL」を更新して、「実際の」プロジェクトの別のリリースジョブを作成しました。これは失敗します:

[INFO] Checking in modified POMs...
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg branch
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg outgoing
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg commit --message '[maven-release-plugin] prepare release MyProject-1.0' /opt/home/hudson/jobs/MyProject-ManualRelease/workspace/pom.xml
[INFO] EXECUTING: /bin/sh -c cd /opt/home/hudson/jobs/MyProject-ManualRelease/workspace && hg push https://hudson:hudson@scmserver/hg/current/MyProject
[ERROR] 
EXECUTION FAILED
  Execution of cmd : push failed with exit code: 255.
  Working directory was: 
    /opt/home/hudson/jobs/MyProject-ManualRelease/workspace
  Your Hg installation seems to be valid and complete.
    Hg version: 1.3.1 (OK)

MavenリリースプラグインをMercurialサーバーで動作させるには、httpsを設定し、各プロジェクトのhgrcファイルに構成を追加する必要がありました。同じ構成が両方のプロジェクトリポジトリに設定されています。

Hudsonを「hudson」ユーザーとして実行し、Mercurialサーバーに秘密鍵/公開鍵を設定して、Mercurialサーバーにアクセスできるようにしました。

一方のプロジェクトが変更をコミットでき、もう一方のプロジェクトがコミットできない理由がわかりません。それが両方のプロジェクトだった場合、それは権限の問題だと思いますが、それはそのうちの1つにすぎません。

誰かが問題が何であるかについての提案を持っていることを願っています。

4

1 に答える 1

0

私は設定に集中していましたが、問題はhgWebサーバーがプロジェクトリポジトリにアクセスできないことでした。誰かがプロジェクトのあるディレクトリに(空の)リポジトリを作成したため、Hudsonはhttps経由でリポジトリにアクセスできませんでした。リポジトリを削除すると修正されました。

于 2012-11-21T23:15:03.063 に答える