学習パス 07レッスン 5 / 8

Taigaが判断を待つ箇所を選ぶ

計画の承認、buildの実行、マージ権限、デプロイを分けます。組織が保持すべき判断に合わせて、自律動作を設定します。

実践11 分レビュー日

発行元 執筆方針

理解度を確認組織は自律的なマージを許可していますが、factoryで無効にしています。そのfactory配下のproductで、有効にできますか?演習に取り組む
組織は自律的なマージを許可していますが、factoryで無効にしています。そのfactory配下のproductで、有効にできますか?

学べること

  • 自動buildと自律的なマージを区別する。
  • マージの許可上限、productのデフォルト設定、initiativeの個別設定を説明する。
  • 自動化を有効にする前に、ブランチルールとデプロイへの影響を確認する。

四つの判断を分ける

架空の備品サービスには、四つの異なる判断があります。計画を受け入れる、buildを実行する、変更をマージする、デプロイするという判断です。一つのスイッチで、四つすべてが許可されると扱わないでください。

自律動作を変える前に、マージ後にリポジトリのパイプラインが何をするかを確認します。作業対象のブランチへのマージがデプロイを起動する場合、自動マージも、その既存のワークフローを起動できます。

計画を承認待ちにするか決める

ProductのBuild on its own by default設定は、完成した計画がbuildに進むか、承認を待つかを制御します。先に人の判断が必要な場合は、オフにします。

InitiativeのBuild on its own設定は、そのinitiativeだけの動作を変更できます。作業をQueueに入れる前に、デフォルト設定と個別の選択の両方を確認します。

Approveは、承認者の現在の権限に従い、その人を実行主体としてbuildを開始します。計画に失敗した場合、buildは始まりません。Buildの自動化だけでは、結果のpull requestのマージは許可されません。

マージ設定の階層を理解する

自律的なマージは別に制御され、有効にするまではオフです。文書化されている連携は、GitHub Enterpriseを含むGitHubに対応しています。

階層意味
Organization自律的なマージを許可するかの上限
Factoryそのfactory配下全体の許可上限
Product個別の選択がないinitiativeのデフォルト設定
Initiative上限の範囲内での、個別のMerge on its ownの選択

組織またはfactoryの上限が無効なら、下位で上書きできません。Productのデフォルトがオフの場合は異なります。上限が許可していれば、initiativeで個別にマージを有効にできます。

備品サービスでは、初期範囲を明確に保ちます。許可された境界内で、影響の小さいinitiativeと、従業員のアクセス制御を変えるinitiativeに、異なる選択を設定できます。

必須レビューを強制できるようにする

Taigaは、ソース管理の提供者に、そのpull requestをマージできるか確認します。必要なチェック、レビュー、その他の条件を定めるのは、ブランチ保護です。自律的なマージは、それらのルールを迂回しません。

自動レビューでマージを止める必要がある場合は、リポジトリが対応する設定を通じて、その結果を必須のstatus checkにします。助言的な結果は、期待しているだけで必須にはなりません。

必須の人による承認も確認します。成功したチェックは、ポリシーが求める承認の代わりにはなりません。実際の対象ブランチで、ルールを確認してください。

マージが停止した理由を読み取る

Initiativeに表示された理由を読みます。チェック待ち、承認不足、競合、未完了の計画では、それぞれ必要な対応が異なります。失敗したチェックを成功させるために、修正が判定基準を変えた場合も、Taigaは自律的なマージを停止します。その変更を直接レビューしてください。

進行を妨げているという理由だけで、必須チェックを削除しないでください。チェックが結果を返さない場合は、設定を修正するか、承認されたポリシー変更の手順を使います。修正の後は、現在のコミットを確認します。

デプロイの許可を別に保つ

自律的なマージはTaiga GitHub Appが実行し、マージした主体として記録されます。リポジトリのパイプラインは、既存のデプロイ動作を維持します。

このシナリオでは、マージするとstagingにデプロイされます。本番には、引き続き組織の本番用の判断と証拠が必要です。パイプラインがこの分離を強制することを確認してください。続いて、デリバリーのレビューを学んでください。

演習に取り組む

架空の備品サービスでは、計画とpull requestに人のレビューが必要です。Mainブランチへのマージは、stagingへのデプロイを実行します。この構成に必要なbuild設定、ブランチルール、マージ設定、別途必要な本番承認を書いてください。

ワークシートをダウンロード(Markdown)
理解度を確認 ↑

学習を続ける

出典と参考資料

Taigaの関連資料

前のレッスン: 成果をinitiativeにする