2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【GitHub Actions】別リポジトリのソースコードをチェックアウトする

Last updated at Posted at 2021-02-09

やりたいこと

GitHub Actionsのワークフローを設定したリポジトリAから、別のリポジトリBのソースコードを読み込めるようにしたい。

やり方

使用するのはお馴染みのactions/checkout@v2

This action checks-out your repository under $GITHUB_WORKSPACE, so your workflow can access it.

このアクションを使うとワークフローの中で、ソースコードにアクセスできるようになります。

▼ パブリックな別リポジトリにチェックアウト

    steps:
      - name: Checkout other repository
        uses: actions/checkout@v2
        with:
          repository: foo/bar # 取得先のリポジトリ名を指定します。

repositoryにチェックアウトしたいリポジトリ名を指定すれば取得できます。
pathrefなどのオプションも確認しておくと良いと思います。

▼ プライベートな別リポジトリにチェックアウト

    steps:
      - name: Checkout other repository
        uses: actions/checkout@v2
        with:
          repository: foo/bar # 取得先のリポジトリ名を指定します。
          token: ${{ secrets.HOGE }} # プライベートリポジトリを読み取れる個人アクセストークンをsecretsから読み込みます。

プライベートリポジトリを取得するので、もちろんアクセス権限が必要になります。
その設定項目として用意されているのがtokenです。

tokenにはPAT(個人アクセストークン)を設定します。
PATの発効方法は、公式ドキュメント(日本語)を参考にするとわかりやすいと思います。

ざっくり
GitHubのプロフィールアイコン > Settings > Developer settings > Personal access tokens
から作成できます。

  • 強い権限をつけ過ぎないこと。(repoくらいあればチェックアウトするには十分なはずです)
  • 個人アクセストークンを流出させないこと。

に十分気をつけましょう。

PATが作成できたら、ワークフローを作成しているGitHubリポジトリのsecretsにトークンを登録しましょう。
「【GitHub Actions】カスタム環境変数を読み込みたい」を参考に登録してみてください。

▼ SSOが必要なOrganizationの別リポジトリにチェックアウト

    steps:
      - name: Checkout other repository
        uses: actions/checkout@v2
        with:
          repository: foo/bar # 取得先のリポジトリ名を指定します。
          token: ${{ secrets.HOGE }} # リポジトリを読み取れる個人アクセストークンをsecretsから読み込みます。

.ymlファイルの設定は、「▼ プライベートな別リポジトリにチェックアウト」と同じです。
発行したPATのSSO(SAMLシングルサインオン)を有効にしてあげる必要があります。
これも公式ドキュメント(日本語)を参考にするとわかりやすいと思います。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?