ワークフローのトリガー
コード リポジトリのメイン ブランチに変更を直接プッシュすることはできません。 開発が必要な場合は、ブランチ内のコードのコピーに変更を加えるのが理想的 です。
一般的な方法は、 機能ブランチを操作することです。このブランチは、機能の操作に使用されます。 たとえば、データ サイエンス チームはモデルのパフォーマンスを向上させる必要がある場合、ハイパーパラメーター値を試すことで、改善を試みます。 チームは、トレーニング スクリプトでブランチを作成し、ハイパー パラメーター値を更新できます。 実験が完了したら、データ サイエンティストは、ブランチをメイン リポジトリにマージするプル要求を作成できます。
ブランチと pull request を使用することで、コードに加えた変更をメイン ブランチにマージする前に、それらを確認することができます。 pull request は、コードの自動品質チェックなど、コードに対して提案された更新に従う必要があるタスクを GitHub Actions で自動化するためのトリガーとして使用することもできます。
機能ベースの開発を自動化と共に使用するには、次のことを行う必要があります。
- メインへのダイレクト プッシュをブロックするブランチ保護規則を作成する。
- コードを更新するブランチを作成する。
- pull request を開くときに、GitHub Actions ワークフローをトリガーする。
ブランチ保護規則を作成する
コードを保護するために、 メイン ブランチへの直接プッシュをブロックする必要があります。 ダイレクト プッシュをブロックすると、誰もコードの変更をメイン ブランチに直接プッシュすることはできなくなります。 代わりに、pull request をマージすることで、メイン ブランチに変更を加えることができます。
メイン ブランチを保護するには、GitHub で ブランチ保護規則 を有効にします。
- リポジトリの [設定] タブに移動します。
- [ 設定] タブの [ コードと自動化] で、[ブランチ] を選択 します。
- [ ルールの追加] を選択します。
-
mainの下に「」と入力します。 - [ マージする前にプル要求を要求する ] と [承認を要求する] を有効にします。
- 変更を保存します。
コードを更新するブランチを作成する。
コードを編集する場合は常に、ブランチを作成してそこで作業する必要があります。 最終的に変更を行う場合は、機能ブランチをメイン ブランチとマージする pull request を作成できます。
ヒント
機械学習プロジェクトのソース管理と機能ベースの開発の操作の詳細について説明します。
GitHub Actions ワークフローをトリガーする
最後に、pull request の作成を、GitHub Actions ワークフローのトリガーとして使用できます。 たとえば、誰かがコードに変更を加えるたびに、コード品質チェックを実行する必要があるとします。
編集したコードが品質チェックに合格し、提案された変更を誰かが確認した場合にのみ、pull request を実際にマージします。
GitHub Actions ワークフローをトリガーするには、on: [pull_request] を使用します。 このトリガーを使用すると、pull request が作成されるたびにワークフローが実行されます。
pull request がマージされるたびにワークフローを実行する場合は、別のトリガーを使用する必要があります。 pull request のマージは、基本的にメイン ブランチへのプッシュです。 そのため、pull request がマージされたときに実行するワークフローをトリガーするには、GitHub Actions ワークフローで次のトリガーを使用します。
on:
push:
branches:
- main