3
0

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 1 year has passed since last update.

GitHub Actions で Unity ビルドを行う時に事前に設定した認証情報を利用する

Last updated at Posted at 2022-02-16

はじめに

Unity の UPM を利用する際にプロジェクトで GitHub Actions の自動化でプライベートリポジトリにあるパッケージを取得する方法です。

で書いた内容を GitHub Actions のタスクに置き換えたものですので、認証情報を抑制する方法だけであれば上記を参照していただければ完結すると思います。

GitHub Actions の設定

GitHub Actions 側では以下のように credeitial-manager-core を使用します。

事前に GitHub Actions のシークレットに設定しておきます。

  • USERNAME: GitHub にアクセス権を持つユーザー名
  • PASSWORD: 上記のユーザーのパスワードもしくはリポジトリにアクセスできる権限があるパーソナルアクセストークン
- name: Git credential
  run: |
    git credential-manager-core store << EOS
    protocol=https
    host=github.com
    username=$USERNAME
    password=$PASSWORD
    EOS

上記を Unity のインポート前に設定しておくことで Unity のパッケージマネージャーがリポジトリアクセス時に認証情報を git-credential-manager の情報を参照するようになります。

ただ、このままだと認証情報が残ったままですので最後に認証情報を削除する処理も入れておきます。

- name: Clean up Git credential
  if: ${{ always() }}
  run: |
    git credential-manager-core erase << EOS
    protocol=https
    host=github.com
    EOS

エラー発生時

上記の git credential-manager-core で以下のようなエラーが出る場合は

fatal: Interaction with the Security Server is not allowed. [0xffff9d24]

こちらを参考にアクセス許可を付与してください。

もしくはキーチェインの設定が間違っている場合があります。
git-credential-manger-core は『デフォルトのログインキーチェイン』を使用します。

そのため独自にキーチェインを使用する場合はデフォルトのキーチェインの変更が必要になります。

security default-keychain <キーチェインパス>

GitHub Actions 用のアクション

この辺りを設定するのが面倒だったりキーチェインの部分が色々と知識がないと出来なかったりするので設定用のアクションを作成しました。

こんな感じで設定してもらうとこのアクション実行で git-credential-manager-core の設定を行い、最後にその設置を破棄する部分まで行います。

- uses: akiojin/store-git-credential-github-action@v1.1
  with:
    username: ${{ secrets.GIT_CREDENTIAL_USERNAME }}
    password: ${{ secrets.GIT_CREDENTIAL_REPOSITORY_PASSWORD }}

さいごに

UPM を GitHub プライベートリポジトリで運用されている環境は意外と少ないかもしれませんが、社内ライブラリを GitHub で運用されている方は結構この辺りでつまづくことがあるんじゃないかと思いますので、一度試していただければと思います。

3
0
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
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?