CI ツールとして CruiseControl を使用しています。クルーズコントロールによって割り当てられたビルド番号をオーバーライドする方法を知りたいです。
その理由は、さまざまなモジュールに対して並行してクルーズコントロール セッションを実行しているため、モジュールごとに異なるビルド番号を関連付けるために同じ番号を使用したくないからです。
CI ツールとして CruiseControl を使用しています。クルーズコントロールによって割り当てられたビルド番号をオーバーライドする方法を知りたいです。
その理由は、さまざまなモジュールに対して並行してクルーズコントロール セッションを実行しているため、モジュールごとに異なるビルド番号を関連付けるために同じ番号を使用したくないからです。
この質問をした人にとって、答えは遅すぎるかもしれません。しかし、この情報を必要とする可能性のある他の人の利益のために、ここに解決策を記録しています。
新しくアップグレードされた(2.8.2)クルーズコントロールでこれを試したところ、実際にうまく機能します。
labelincrementer タスクを使用して、この方法である程度の柔軟性を得ることができます: config.xml でタスクを使用します: < project >
< labelincrementer defaultLabel="my.cruise.build.1" />
< /プロジェクト>
クルーズのホーム ディレクトリにシリアル化されたビルド ファイルがないことを確認します (ファイルの名前は < your_project >.ser になります。以前のビルド試行でこのファイルが表示された場合は、削除してください。再作成されることを心配しないでください。これにより、ビルド タスク フォームがこのファイルをのぞき見して、config.xml で指定した新しい形式ではなく、以前の形式の数値を増やすのを防ぐために必要です。
ログ ディレクトリからすべてのログ ファイルを削除/クリーンアップします (< cchome >/logs/< project_name > 領域から)。これは、ビルド タスクが以前のビルドのラベル値を参照しないようにするために必要です。
これらすべてを指定どおりに実行したら、ビルドを実行すると、「my.cruise.build.1」で指定した方法で次のビルドのラベルが表示されます。
詳細情報が必要な場合は、このページを参照してください: http://cruisecontrol.sourceforge.net/main/configxml.html#labelincrementer
私も同じことをしています。私にとって簡単で明白な解決策は、プロジェクトごとに 1 つずつ、2 つの config.xml ファイルで CC の 2 つのインスタンスを実行することでした。それぞれ独自のビルド番号、リポジトリ、カスタマイズなどを取得します。
Subversion を使用している場合は、svn でビルドにラベルを付けてから、他のビルドで使用するためにそのラベルを取得する方法があります。残念ながら、私はこれを設定したことがなく、使用されているのを見ただけなので、実装方法の詳細を提供することはできません.
私の知る限り、これは標準のCruiseControlを使用することはできません(カスタムプラグインなし)
最も近いのは、別のプロジェクトのビルド ラベルを使用する "remoteProjectLabeller" ラベラーです。
<labeller type="remoteProjectLabeller">
<project>OtherProject</project>
</labeller>