継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

プライベートリポジトリで自作 GitHub Actions を動作させるために必要な設定

タダです.

業務で GitHub Actions を開発したのですが,その Actions はプライベートリポジトリに起き,別のプライベートリポジトリから Actions を呼び出すことをやったので小ネタとしてまとめます.

概要

リポジトリ A に Actions のコードが入っており,リポジトリ B で Actions を呼び出すとします.

リポジトリ B の workflow 設定

.github/workflows 配下にリポジトリ A の Actions を呼び出す定義を書いてみます.

設定例

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v3
        with:
          repository: hoge/リポジトリ A
          ref: main
          path: .github/actions/リポジトリ A
          token: ${{ secrets.PERSONAL_GITHUB_TOKEN }} 
      - name: test actions
        uses: ./.github/actions/リポジトリ A
        with:
          param1: value1
          param2: value2

上記の設定でリポジトリ A で main ブランチにあるコードをチェックアウトしてきます.その際に,Personal Access Token を使っているので,発行して Secrets に登録しておきます.この際に設定する権限は repo 全般の権限で確認しました.actions/checkoutが通れば,自作している Actios を実行するのに必要なパラメータをセットしたりすればよいですが,usesでチェックアウトで指定したパスを指定してます.指定したパスに action.yml がないとエラーで何回か失敗したので指定には注意ください.

関連情報

github.com

zenn.dev

まとめ

プライベートリポジトリ間での GitHub Actions の呼び出し方法をまとめました.今回の経験でこれまで Actions はパブリックリポジトリじゃないと呼べないのだろうと一方的に勘違いしていたのを正せました.また,企業内のリポジトリであれば,こういった使い方はありうると思いますしあまり記事を見かけたなかったので記事にしてみました.