ビルド管理
Validate の [ビルド] ページを使用すると、次のようなビルド管理タスクを実行できます。
- 選択したプロジェクトのビルドリストの表示
- ビルドリストのフィルター処理
- ビルド名の変更 (例: マイルストーンビルドのラベル付けをする場合)
- ビルドの削除
- ビルドリテンションポリシーの設定
- ビルドログの表示
[ビルド] ページにアクセスするには、[プロジェクト] リストのプロジェクトをクリックし、[ビルド] をクリックします。
ビルドリテンションポリシーの設定
統合ビルド解析データの保存に必要なスペースは、時間とともに巨大化します。デスクスペースを節約するには、次を行ってください。
- validate admin delete-build または Web API を使用して、Validate で個々のビルドを削除します
- 自動ビルド削除の有効化
自動ビルド削除を有効化するには、プロジェクト管理者の役割を持っている必要があります。
ビルドリテンションポリシーを設定する際、保持するビルド数を設定します。デフォルトでは、Validate は 20 個のビルドを保持します。また、特定のビルドが削除されないようにすることもできます。これらのビルドは、保持するビルド数には含まれません。たとえば、しきい値を設定して 30 個のビルドを保持するように、また 10 個のビルドが削除されないようにする場合は、Validate は 40 個のビルドを保持します。
古いビルドの自動削除
Klocwork は、プロジェクトとストリーム全体でのストレージ消費管理に役立つように、古いビルドの自動削除をサポートしています。保持するビルドの最大数を定義する auto_delete_threshold
プロパティを使用して制御します。このしきい値を超えると、次回に新しいビルドが作成されるときに古いビルドが削除されます。
この設定は、Validate ポータル、Web API、または kwadmin/validate admin CLI を使用して、プロジェクトレベルまたはストリームレベルで構成することができます。
Restriction: ビルドの削除は、ビルドが新規作成され、しきい値を超えた場合にのみトリガーされます。
プロジェクト階層と継承について
プロジェクトとストリームは階層構造で存在しています。ストリームは、ベースプロジェクトまたは別のストリームから作成することができます。この構造では、以下のようになります。
-
親 (parent):別のストリームの 1 つ上の階層のプロジェクトまたはストリーム
-
子供 (child):プロジェクトまたは別のストリームの直下に作成されたストリーム
-
祖先 (ancestor):上位階層にあるすべてのプロジェクトまたはストリーム
-
子孫 (descendant):下位階層にあるすべてのストリーム
ストリームは、auto_delete_threshold
を祖先から継承することができます。または、ストリームに明示的な値を割り当てることができます。階層内に値が見つからない場合は、デフォルト値 20 が使用されます。
継承の仕組み
ビルドが完了すると、プロジェクトとそのすべてのストリームに保存されているビルドの数を Klocwork が評価します。各ストリームのしきい値は、以下のロジックによって決まります。
-
ストリームに明示的な
auto_delete_threshold
が設定されている場合は、その値が使用される -
そうでない場合、ストリームは親のしきい値をチェックする
-
親が値を持っていない場合は、値が見つかるまで階層の上位方向にチェックが続けられる
-
値が見つからない場合は、デフォルト値 20 が使用される
この継承メカニズムにより、冗長な値が回避され、関連するプロジェクト全体で一貫性が確保されます。
しきい値の設定
auto_delete_threshold
は、以下のいずれかの方法を使用して設定することができます。
Validate ポータル
-
Validate ポータルにログインします。
-
左上のメニューの [プロジェクト] をクリックします。
-
リストからプロジェクトを選択します。
-
[ビルド] タブをクリックします。
-
[古いビルドを自動削除する] を有効にします。
-
鉛筆アイコンをクリックして、保持するビルドの数を設定します。
Web API
update-project
メソッドを使用して、auto_delete_threshold
に正の整数値を渡します。
lwadmin または validate admin CLI
kwadmin または validate admin を使用して自動削除を有効にするには、以下のコマンドでしきい値を設定します。
validate admin set-project-property MyProject auto_delete_threshold 10
自動ビルド削除の設定解除
自動ビルド削除は、祖先のプロジェクトまたはストリームで有効になっている場合には、Validate ポータルを使用して完全に無効にすることはできません。その場合、[古いビルドを自動削除する] オプションのチェックボックスをオフにしても設定は解除されず、ストリームが親から値を継承するようになるだけです。
自動ビルド削除を明示的に設定解除するには、Web API で auto_delete_builds
を false
に設定します。
あるいは、kwadmin または validate admin を使用して、以下のように、ビルドが削除されることがないような非常に高いしきい値を設定します。
validate admin set-project-property MyProject auto_delete_threshold 99999
自動削除に関する注意事項とベストプラクティス
-
ストリームで明示的に設定されているしきい値を削除し、親から継承する値に戻すには、 Validate で [古いビルドを自動削除する] オプションのチェックボックスをオフにします。
-
ストリームのしきい値を継承するものと同じ値に設定しようとすると、そのストリームは、新しい明示的な値を保存する代わりに、継承を続行します。
-
ストリームのしきい値を継承する値以外のものに変更すると、明示的に設定された値が削除され、継承が再開されます。
-
プロジェクトまたはストリームの値が変更されると、以下のように、その子孫がチェックされます。
-
子孫が他に明示的な値を持っている場合、変更は行われません。
-
子孫が値を持っていない場合は、設定されているのと同じ値を継承することになるので、その子孫は継承を開始し、明示的な値が削除されます。
-
特定のビルドが削除されないようにする
自動ビルド削除を有効にする場合は、特定のビルドが自動的に削除されないようにすることができます (たとえば、反復やマイルストーンビルドなど)。保持マークが付けられているビルドは、auto_delete_threshold
による制限値の対象外となります。
- プロジェクトリストが表示されていない場合は、左上の [プロジェクト] をクリックします。
- リスト内のプロジェクトをクリックします。プロジェクトの詳細が表示されます。
- プロジェクト詳細で、[ビルド] をクリックします。
- 保持するビルドの左側の鉛筆アイコンをクリックします。
- [このビルドを自動削除しない] を選択します。