私は基本的にJenkins pipelineをまとめました。それは私が大部分を期待していることです。Jenkinsパイプラインでjarファイルをantに提供するにはどうすればよいですか?
しかし、私はantを使用しており、特定のjarファイルにアクセスする必要があります。私はそうのようなビルドステップを指定した:
stage('Build') {
// Build the project
env.PATH = "${tool 'ant'}/bin:${env.PATH}"
sh 'ant -f dita-tools/build_all.xml -lib $WORKSPACE/dita-ot/lib:$WORKSPACE/dita-ot/lib/saxon'
}
私は、このパイプラインを介して実行ビルドには、次のエラーが失敗し、生成します。
java.lang.ClassNotFoundException: org.dita.dost.module.GenMapAndTopicListModule
私が言うことができるものから、これはアリによるものではありませんditaにあるdost.jarへのアクセス権を持っています。私はこの引数を、とりわけdost.jarを参照する(私は数多くのjarファイルがありますが)同じエラーで失敗するたびに数多くの方法を定義しようとしました。
私がJenkinsでスタンドアローンのAntプロジェクトをまとめたとき、antは上記の引数でjarファイルにアクセスする上で問題はありません。この引数/依存関係をパイプラインに供給するためのよりよい方法がありますか?
UPDATE: 私は私のビルドスクリプトにクラスパスのためのecho文を追加し、ビルドスクリプトでクラスパスにjarファイルを追加すると、実際の作業ではないことを確認することができました。したがって、すべての目的と目的のために、アリはターゲットのすべての関連する基本ツールキットjarにアクセスできますが、エラーはそのままです。この時点で、この問題は、ジェンキンパイプラインがどのように機能するのかとは関係がありますか?
理由だけではなく、Antスクリプト自体内のlibの場所を定義していませんか? – CAustin
私はそれを試みたが、うまくいかなかった。間違いなく、ユーザーエラーがあります。私はあなたが正しいと思う。それは完全に実行可能なオプションでなければなりません。私はさらに探検する。 –