タダです.
業務で 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 Actions の呼び出し方法をまとめました.今回の経験でこれまで Actions はパブリックリポジトリじゃないと呼べないのだろうと一方的に勘違いしていたのを正せました.また,企業内のリポジトリであれば,こういった使い方はありうると思いますしあまり記事を見かけたなかったので記事にしてみました.