2012-09-12 14 views
9

私はソース管理リポジトリとしてSVNを、CIツールとしてJenkinsを使用しています。 Jenkinsを使用してMSBuildスクリプトを実行して、実際のビルドとデプロイを行います。また、Jenkins Pipelineプラグインを使用して、下流のプロジェクトのビルドを管理します。Jenkins Pipelineの特定のリビジョンを構築する

私はパイプラインに問題があります。問題は、私がSVNに10回のチェックインをした結果、自動CIビルドが10回実行され、その結果パイプラインが10回のビルドを示したとします。さて、5番ビルドをパイプラインの次のステージにプッシュしたいのであれば、5番ビルドまでのすべてのコードが次のステージにビルドされると期待します。代わりに、最新のコード(ビルド10)が常に使用されています。

ビルドスクリプトを変更する必要があるのか​​、Jenkinsを設定する必要があるのか​​、パイプラインプラグインを設定する必要があるのか​​わかりません。誰か知っていますか?

パイプラインプラグインの意味が分からない場合は、ここをクリックしてください。

enter image description here

+0

実際にあなたが望むものを構成できるか、本当にしたいと思っているのかどうかは分かりません。理由は次のとおりです。第1ステージが第2ステージとして動作する時間の1/2を要するとしましょう。ステージ1のビルドが継続的に行われていた場合、ステージ2で全く同じバージョンのビルドが開始されました。 3ステージ1のビルドが完了するまでに、1ステージ2しか構築できませんでした。9ステージ1ビルドの時点で、5ビルドの後ろになります。だからこそ、第2ステージで常に最新のリビジョンを構築しています。追いつきの問題を解決します。 – jwernerny

答えて

17

あなたはSVNの場所にSVN_URL@1234を追加することができます。

また、リビジョンを取得し、あなたのSVNの場所に@${SVN_REVISION}のようなものを使用するSVN_REVISION変数環境を使用することができます(https://stackoverflow.com/a/2325478/834を参照してください)。資料はhttps://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariablesにあります。

関連する問題