ワークフローのトリガー

完了

コード リポジトリのメイン ブランチに変更を直接プッシュすることはできません。 開発が必要な場合は、ブランチ内のコードのコピーに変更を加えるのが理想的 です

一般的な方法は、 機能ブランチを操作することです。このブランチは、機能の操作に使用されます。 たとえば、データ サイエンス チームはモデルのパフォーマンスを向上させる必要がある場合、ハイパーパラメーター値を試すことで、改善を試みます。 チームは、トレーニング スクリプトでブランチを作成し、ハイパー パラメーター値を更新できます。 実験が完了したら、データ サイエンティストは、ブランチをメイン リポジトリにマージするプル要求を作成できます。

ブランチと pull request を使用することで、コードに加えた変更をメイン ブランチにマージする前に、それらを確認することができます。 pull request は、コードの自動品質チェックなど、コードに対して提案された更新に従う必要があるタスクを GitHub Actions で自動化するためのトリガーとして使用することもできます。

機能ベースの開発を自動化と共に使用するには、次のことを行う必要があります。

  • メインへのダイレクト プッシュをブロックするブランチ保護規則を作成する。
  • コードを更新するブランチを作成する。
  • pull request を開くときに、GitHub Actions ワークフローをトリガーする。

ブランチ保護規則を作成する

コードを保護するために、 メイン ブランチへの直接プッシュをブロックする必要があります。 ダイレクト プッシュをブロックすると、誰もコードの変更をメイン ブランチに直接プッシュすることはできなくなります。 代わりに、pull request をマージすることで、メイン ブランチに変更を加えることができます。

メイン ブランチを保護するには、GitHub で ブランチ保護規則 を有効にします。

  1. リポジトリの [設定] タブに移動します。
  2. [ 設定] タブの [ コードと自動化] で、[ブランチ] を選択 します
  3. [ ルールの追加] を選択します
  4. main の下に「」と入力します。
  5. [ マージする前にプル要求を要求する ] と [承認を要求する] を有効にします。
  6. 変更を保存します。

GitHub でのブランチ保護規則の構成のスクリーンショット。

コードを更新するブランチを作成する。

コードを編集する場合は常に、ブランチを作成してそこで作業する必要があります。 最終的に変更を行う場合は、機能ブランチをメイン ブランチとマージする 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