0

おおよそ次の構造を持つmavenプロジェクトがあります。

sourceProject
- src
- distribution
- pom.xml

pom.xml はプロジェクトをビルドし、依存関係などを含むソースをディストリビューションにコピーします。ソース プロジェクトは、空のディストリビューション フォルダーを含むリポジトリにコミットされます。

さらに下流には、ディストリビューション フォルダーを宛先フォルダーにコピーして zip をビルドする ant build.xml があります。関連するコマンドは次のとおりです。

<copy todir="${buildDirectory}/features/project/root/sourceProject">
 <fileset dir="${basedir}/../sourceProject/distribution" />
</copy>

私のローカルマシンでは、すべてが期待どおりに機能しています。ただし、リポジトリにコミットすると、適切な Jenkins ジョブが次の例外で失敗します。

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-antrun-plugin:1.6:run (default) on project myProject: An Ant BuildException has occured: The following error occurred while executing this line:
/home/jenkins/mySubProject/build.xml:48: /home/jenkins/sourceProject/distribution does not exist.

sourceProject pom.xml でディストリビューションを指定する必要があると思いますが、これまでの試みは失敗しました。

4

1 に答える 1

1

わかりました、それは実際には非常に簡単でした。エラーは相対パスにありました。Jenkinsのジョブは、リポジトリの構造を複製していませんでした。さまざまなジョブのコンソール出力からのいくつかの詳細は、jenkinsサーバー上の相対パスを理解するのに役立ちました。

于 2013-02-05T14:41:40.560 に答える