Skip to main content

組織と企業全体のコード品質の有効化

GitHub Code Quality は、1 つのコントロール ポイントから 1 つのリポジトリまたは数千ものリポジトリをカバーでき、すべてのチームに同じ品質ベースラインを提供し、それを維持するためのガードレールを提供します。

この機能を使用できるユーザーについて

GitHub Team または GitHub Enterprise Cloud

企業全体での有効化のしくみ

Code Quality は 3 つのレベルで制御されるため、組織とリポジトリに与える自律性の量を決定できます。

  • エンタープライズ: エンタープライズ所有者は、最初にエンタープライズの Code Quality を許可する必要があります。 有効になるまで、組織の所有者はそれを有効にできません。
  • 組織: 組織の所有者は、すべてのリポジトリ、選択したリスト、またはフィルターに一致するリポジトリへのアクセスを許可することで、有効または無効 Code Quality リポジトリを制御します。 リポジトリ管理者が変更できないように、これらの設定を適用することもできます。
  • リポジトリ: リポジトリ管理者は、組織レベルの適用が適用されない限り、個々のリポジトリの Code Quality を有効または無効にすることができます。

リポジトリで Code Quality が有効になっている場合、 CodeQL 分析は GitHub Actions を介して実行され、プル要求と既定のブランチで結果が表示されます。 開発者は、pull request で品質チェックと注釈を確認します。

組織レベルのリポジトリ アクセス

組織レベルでは、単一Code Quality設定で**** を制御します。 この設定により、 Code Quality が有効になっているリポジトリと無効になっているリポジトリが決まります。選択範囲内のリポジトリは有効になり、選択されていないリポジトリは無効になります。

重要

リポジトリのアクセス設定を変更すると、多数のリポジトリで一度に**** を有効Code Quality無効にできます。 たとえば、フィルターに一致するリポジトリに対して Code Quality を有効にすると、フィルターと一致しないリポジトリはすべて無効になります。 変更を適用する前に、ダイアログに、有効および無効になっているリポジトリの合計数と、課金への影響が表示されます。

リポジトリアクセスオプション

次のいずれかのオプションを一度に適用できます。

OptionBehavior
リポジトリなし組織内のすべての現在および将来のリポジトリの Code Quality を無効にします。
リポジトリが決定できるようにする組織は、 Code Qualityを有効または無効にしません。 リポジトリ管理者は、独自のリポジトリに対して有効にするかどうかを選択します。 このオプションは適用できません。
すべてのリポジトリ現在および将来のすべてのリポジトリに対して Code Quality を有効にします。
選択したリポジトリ選択したリポジトリの特定の一覧に対して Code Quality を有効にします。 選択しないリポジトリは無効になり、新しいリポジトリは自動的に有効になりません。 パイロットまたは例外に最適です。
フィルターの照合現在および将来、定義したフィルターに一致するリポジトリの Code Quality を有効にします。 一致しないリポジトリは無効になります。
リポジトリのフィルター処理を参照してください。

リポジトリのフィルター処理

[フィルターの照合] を選択すると、条件に一致する既存のリポジトリと将来のリポジトリのCode Qualityを自動的に有効にする動的フィルターを作成します。 これは、大規模な継続的なガバナンスに役立ちます。

次の条件の任意の組み合わせでフィルター処理できます。

  • 可視 性: リポジトリがパブリック、プライベート、または内部のいずれであるか。 すべてのプライベート リポジトリに対して Code Quality を有効にするなど、広範なポリシーに役立ちます。
  • フォークの状態: リポジトリがフォークかどうか。 フォークが分析リソースを消費すべきでない場合に便利です。
  • カスタム プロパティ: リポジトリに特定のカスタム プロパティ値があるかどうか。 たとえば、 team:platform プロパティを使用してリポジトリをターゲットにできます。

フィルター内のすべての条件が ANDと組み合わされるため、リポジトリは有効にするすべての条件と一致する必要があります。 特定の条件に一致するリポジトリを除外することもできます。

アクセスの強制

既定では、リポジトリ管理者は独自のリポジトリの Code Quality 設定を変更できます。 これを回避するには、[ アクセスの強制] を有効にします。

リポジトリ アクセス オプションによって設定された有効状態と無効状態の両方で強制ロックされるため、リポジトリ管理者は無効にできません。 これにより、組織全体の一貫性が向上しますが、個々のリポジトリ管理者の柔軟性が低下します。

  • 適用は、選択したほとんどの リポジトリ アクセス オプション ([ リポジトリなし] を含む) に適用され、 Code Quality は無効として適用されます。
  • リポジトリに決定を委ねる を選択している場合、強制適用は利用できません。これは、意図的に選択をリポジトリ管理者に委ねるためです。

ロールアウトの計画

1 つの リポジトリ アクセス 設定の変更により、多数のリポジトリの Code Quality を一度に有効にでき、各分析で GitHub Actions 分が消費されるため、一度にすべてではなく段階的にロールアウトする価値があります。 計画を立てる際に、いくつかのことを検討します。

  • コストと容量。 GitHub Actionsを広く有効にする前に、ランナーが追加のCode Quality負荷を吸収できることを確認します。
  • 適用する量。 適用により、一貫したカバレッジが提供され、リポジトリ管理者のオプトアウトは停止されますが、柔軟性はなくなります。 オフのままにすると、チームは自分のタイムラインでオプトインできます。
  • 展開するタイミング。 小規模で代表的なパイロット グループから始めて、分析がスムーズに実行され、開発者が結果を信頼していることを確認してから、選択またはフィルターを拡大して、より多くのリポジトリをカバーします。

品質しきい値を適用する前に評価モードでパイロットを行うなど、段階的なロールアウト手順については、 大規模な GitHub Code Quality のロールアウト を参照してください。