すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud DevOps:コード検出サービスを使用する

最終更新日:Apr 26, 2025

このトピックでは、ビジネスシナリオに合わせたコード検出戦略の設計方法について説明します。

説明

コード検出は、Alibaba Cloud DevOps Flow リソースを使用して実行されます。同時実行数と各実行の期間は、リソースに基づいています。割り当てられたリソースクォータ内でコード検出タスクを実行できます。使用量がこのクォータを超える場合は、従量課金制で課金を有効にして、追加のリソースを取得します。詳細については、「従量課金ルール」をご参照ください。

ステップ 1:検出戦略を作成する

  1. Alibaba Cloud DevOps Codeup にログインします。左側のナビゲーションウィンドウで、[コード検出] > [検出戦略] を選択します。

    Group@2x (18)

  2. 検出戦略を構成します。

    Codeup は、参照用に組み込みの検出戦略を提供しています。既存の戦略をコピーするか、新しい戦略を作成することで、カスタム戦略を構成できます。

    1. 組み込み戦略

      次の図に示すように、既存の検出戦略をコピーするか、要件に基づいて新しい戦略を作成できます。

      Group@2x (19)

    2. 既存の戦略をコピーする

      コピーする推奨検出戦略を選択します。高的 (8).png

    3. 新しい検出戦略を作成する高的 (12).png

ステップ 2:戦略を調整する

検出戦略を選択した後、既存のルールと戦略設定を調整できます。

説明

戦略の作成者または Codeup 組織管理者は、戦略を編集および削除できます。他の人は戦略を表示およびコピーすることしかできません。

  1. 検出戦略を調整します。

    高的 (16).pngCodeup では、各ルールの重大度レベルを変更できます。また、正規表現を使用して検出範囲に制限を設定するなど、検出パラメータの特定のルールも提供します。適用できないルールを無効にし、無効になっているルールを再度有効にすることができます。

    警告

    ルールを無効にすると、次の効果が生じます。

    • ルールによって識別された問題は、次の検出後に自動的にクローズされます。

    • 現在の検出戦略が適用されている場合、対応するルールは実行されません。

    image

  2. 検出戦略を検出タスクに関連付けます。高的 (20).png

    新しい検出タスクを作成します。高的 (21).png

  3. 検出戦略に対するすべての変更は、追跡可能性とレビューのために戦略の変更履歴に記録されます。

    高的 (24).png

  4. 検出戦略の設定を調整します。

    検出戦略の詳細ページの [設定] タブで、[戦略名][戦略の説明]、および [ファイルホワイトリスト] パラメータを指定します。次に、[保存] をクリックします。

    ホワイトリストに登録されているファイルは検出から自動的に除外されるため、検出は実行されません。

    高的 (19).png

    重要

    戦略を削除する場合は、戦略が検出タスクに関連付けられていないことを確認してください。関連付けられている場合は、まず戦略を検出タスクからデタッチしてから、戦略を削除して、アクティブな検出タスクへの影響を回避します。

ステップ 3:検出戦略をコードリポジトリに関連付ける

検出戦略をコードリポジトリに関連付けると、検出タスクが作成されます。コードリポジトリは 1 つの検出タスクのみを持つことができ、異なるブランチで複数回実行できます。

  1. Codeup にログインします。左側のナビゲーションウィンドウで、[コード検出] > [検出タスク] を選択します。表示されるページで、[検出タスクの作成] をクリックします。高的 (22).png

  2. 表示されるダイアログボックスで、パラメータを指定します。高的 (23).png

  3. 手動トリガーに加えて、検出タスクは、コミットによるトリガーとマージリクエストトリガーを含む自動トリガーメソッドをサポートしています。[コミットによるトリガー] オプションを選択すると、正規表現マッチングをサポートする必要なブランチを指定する必要があります。[マージリクエストトリガー] オプションを選択すると、リポジトリでマージリクエストが発生するたびに、タスクはソースブランチから宛先ブランチにマージされるコードを検出します。

ステップ 4:検出結果を表示する

  • 検出タスクに基づいて検出結果を表示します。

    [検出タスク] ページで、管理するタスク名をクリックします。表示されるページで、[概要] タブをクリックし、現在のブランチの最新の正常な完全検出結果と問題リストを表示します。

    • 概要:

      • 検出結果:合格ステータス、問題の数、および品質ゲートしきい値が表示されます。

      • 問題の概要:未解決の問題と解決済みの問題の数が表示されます。

      • 問題の重大度の分布:警告、重大、および提案の分布。

      • 問題タイプの分布:セキュリティと仕様の問題の分布。

      • ユーザー全体の問題の分布:さまざまなユーザーによって導入された問題の数をリストします。

      • 最も重大な問題のあるルールの分布:最も重大な問題のあるルールのランキングが表示されます。

      • 問題の傾向:各レベルの問題の傾向が表示されます。

      image

    • 問題リスト

      問題リストは、重大度レベルと解決ステータスでソートされています。コード検出タスクの詳細ページの [問題] タブをクリックします。[問題] タブで、管理する問題をクリックします。表示されるパネルで、[無視] をクリックして、懸念事項ではない問題をスキップします。これらの問題は、そのブランチでは報告されません。

      image

    • 実行履歴

      コード検出は Alibaba Cloud DevOps Flow で実行されます。検出エラーの場合は、[アクション] 列の [ログの表示] をクリックして Flow にアクセスします。次に、エラーログを表示して、問題を特定し、解決します。

      image

      image

      image

      最新の検出が失敗した場合、検出タスクの詳細は、最新の成功結果を保持します。発生時刻などのエラーに関する通知を受信でき、実行ログにアクセスして問題を特定し、迅速に解決するオプションがあります。

  • コードリポジトリのコミットとマージリクエストで検出結果を表示します。

    • コミット検出結果

      コミットとブランチビューで、コミットにコード検出結果がある場合、リスト内のカードを介して結果を表示できます。クリックして問題の詳細を表示します。image

    • マージリクエスト検出結果

      [マージリクエストトリガー] オプションを選択すると、マージリクエストリストとマージ詳細セクションで自動検出の結果を確認できます。

      imageimage

      完了後、[詳細の表示] をクリックして、現在のマージリクエストの [ファイルの変更] タブで検出された問題を確認します。コード内の問題行への直接リンクがあります。

      image

FAQ

1. マージリクエストチェックポイントとして検出を設定するにはどうすればよいですか?

コード検出をマージリクエストのチェックポイントとして設定すると、コードレビュープロセスを合理化できます。自動コード検出機能を使用することで、コーディング標準とセキュリティの脆弱性に関する問題を迅速に特定できます。

マージリクエストのコンテキストでは、手動レビューに加えて、変更を確定する前にコード検出をチェックポイントとして設定できます。検出結果が確立された基準を満たしていない場合、リクエストをマージすることはできません。このアプローチにより、高品質のコードのみを本番ブランチに統合できます。

ステップ 1:検出品質ゲートを設定する

まず、管理するコミットまたはマージリクエストの検出品質ゲートを設定します。

コード検出タスクの詳細ページの右上隅にある [設定] をクリックします。[タスク設定] ダイアログボックスで、[マージリクエスト品質ゲート] をクリックします。重大な問題の場合、[品質ゲート] パラメータはデフォルト値の [オン] を保持します。必要に応じて、[警告の問題] パラメータと [提案] パラメータを指定します。

image

ステップ 2:保護されたブランチルールを設定する

次に、前の図に示すように [マージリクエストチェックポイントの設定] をクリックするか、左側のナビゲーションウィンドウで [設定] をクリックします。[設定] を選択した場合は、[ブランチ] をクリックし、[設定] ページで [保護されたブランチルールの作成] をクリックします。

[保護されたブランチルールの作成] パネルで、[ブランチ] パラメータを指定し、[マージルール] セクションで [マージ前に自動ステータスチェックに合格] をオンにして、[コード検出タスク] オプションを選択します。

image

コード検出チェックポイントを削除するにはどうすればよいですか?

コード検出タスクがチェックポイントに設定されている場合、タスクを手動で削除してもチェックポイントは有効なままです。これにより、検証されていないコードが保護されたブランチにマージされるのを防ぎます。

その結果、マージリクエスト内の古いまたは削除されたコード検出タスクは非アクティブになります。これを解決するには、管理者が現在のリポジトリに新しいコード検出タスクを作成する必要があります。新しいタスクは古いタスクを自動的に置き換え、マージリクエストのアクティブなチェックポイントとして機能します。

2. コード検出のリソース使用量を計算するにはどうすればよいですか?

コード検出は、実行に Flow リソースを使用します。同時実行数と実行時間は、使用可能なパイプラインリソースによって異なります。使用量が割り当てられたリソース内にとどまっている場合、検出タスクは正常に実行できます。リソース制限を超えた場合は、従量課金制で課金を選択して、実行するための追加のパイプラインリソースを取得できます。

Flow にログインします。左側のナビゲーションウィンドウで、[リソース使用量] をクリックして、当月の詳細なストレージ使用量を表示します。

竖向多个 (1).png

3. コード検出を無効にするにはどうすればよいですか?

リポジトリの詳細ページで、[設定] をクリックします。[タスク設定] ダイアログボックスで、[削除] をクリックして、リポジトリの検出タスクを削除します。関連付けられたパイプラインは自動的に削除されます。

6-1