LoginSignup
4
4

More than 3 years have passed since last update.

とあるパブリック・リポジトリに設定されたGitHub Actionsから別のパブリック・リポジトリにgit pushしたい

Posted at

GitHub Actions、もといGitHub自体、初心者ということもあって、時間をかなり溶かしたので、メモとして残しておきます(´・ω・`) とあるパブリック・リポジトリに設定されたGitHub Actionsから別のパブリック・リポジトリにgit pushしたい場合、おおよそ以下の通りに記述すればOKです。

jobs:
  sample-job:
    runs-on: sample-latest
    steps:
    - name: sample-step
      env:
        ACCESS_TOKEN:  ${{ secrets.ACCESS_TOKEN }}
      run: git push https://x-access-token:${ACCESS_TOKEN}@github.com/sample-user/sample-repository sample-branch

ここで大事なのが、リモートレポジトリのURLの形式です。ここではACCESS_TOKENsecrets.ACCESS_TOKENという環境変数を利用していますが、これはGitHub Actions組み込みの変数ではありません。ユーザが自分で設定する必要があります。

  1. "Personal access tokens" において、アクセストークンを作成します。このとき"Access public repositories"を有効化し、発行されたアクセストークン文字列を控えておきます。
  2. GitHub Actionsが設定されたリポジトリのページ → Settings → Secrets において、次のような変数を作成します。
    • "Name": ACCESS_TOKEN
    • "Value": 1.で控えておいたアクセストークン文字列
  3. すると、GitHub Actionsのsecrets.ACCESS_TOKENが2.で作成したValueの値を指すようになるはずです。

要するにアクセストークンをSecrets経由でGitHub Actionsに渡しているだけです。パブリックなレポジトリにハードコーディングするのはセキュリティ上避けたいので、こういう迂回策をとっているわけです。

またACCESS_TOKENという名前は一例に過ぎません。任意の名前をつけても大丈夫です(´・ω・`)

4
4
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
4
4