私たちは、マルチリポジトリプロジェクトでいくつかの継続的インテグレーションプロセスをセットアップすることに決めました。アイデアは、すべてのターゲット環境を自動的に構築し、回帰テストを実行することです。 Jenkinsはその目的のための包括的なFOSSソリューションのようであり、Pipelineプラグインの使用を促進します。 examleについてはJenkins Pipeline:前のステージで構築されたライブラリの使い方は?
は、我々はライブラリBの必要な依存であるライブラリを、持っていると仮定しましょう。フリースタイルのプロジェクトを構築しました。は、Aのクローンとコンパイルに成功しました。 the documentationとスニペットジェネレータから は、我々は、その最初のステップビルドを実行することであるパイプラインを開始しまし:
node {
stage 'Build dependencies'
build 'build A'
//
stage 'Build executable'
git url: '[email protected]:projectB', credentialsId: 'jenkins'
sh 'cmake -DPATH_TO_A=XXX ./'
// We do not know what to do then to use the built dependencies ?
// In particular, XXX should be replaced by a path to the header and binaries
// provided by A's build step.
}
我々は、この構築された依存関係のビルドでを使用する方法を見つけることができませんでしたプロジェクトB。
ありがとうございます。質問の文脈でどのように実行できるかを示す最小限のコード例を追加してください。あなたの答えは自立していますか?'Gitの@のgitrepo:ProjectBの'、credentialsId: 'ジェンキンス' ステップ( –
あなたは{ 段階 // 段階 gitのURL '実行可能ファイルをビルドし' '構築' ビルド '依存関係のビルド' を、このノードのような何かを行うことができます[$ class: 'CopyArtifact'、 projectName: 'ビルドA'、 フィルタ: 'target/builda.zip'、target: '。']); sh 'cmake -DPATH_TO_A =。/ builda.zip' //ビルドされた依存関係を使用するにはどうすればいいですか? //特に、XXXはヘッダへのパスに置き換え、バイナリ //はAのビルドステップによって提供されます。 } – Tim
答えを編集してコード例を追加してください。これははるかにリダイレクト可能です:) – Pom12