開発環境を効率化させていく中でcodespacesの利用がすこぶる便利。
効率を追求する中で、GitHubに対してSecretをUIで設定するのが面倒で、どうにかコマンドで行うことを考えた。
GitHUB CLIというコマンドで使うものがあるということが分かった。
詰まった点は2つ
1.コマンド専用のリポジトリを作成するが、そこで作成したcodespaceからは他のリポジトリをデフォルトに設定が出来なかった。
解決方法
一つ上のディレクトリにあがり、そこから、対象となるリポジトリをクローン。gh repo clone XXXX
リポジトリ内に入り、gh repo set-defaultでデフォルトに設定する。
2.gh secertをセットしようとしても403エラーで進まない。
日本語の資料もなく。
英語ではドンピシャの問題と、その解決策が。
https://blog.jongallant.com/2021/06/codespaces-gh-cli-git-credentials/
https://github.com/jongio/gh-setup-git-credential-helper
解決方法
・gh ヘルパーを作成してくれているのでこちらをインストール。及びじっこする体制。
・githubのsetting、開発者設定のところから適切な権限を持たせた上でpersonal tokenを取得。
・ヘルパーを利用して再度ログイン。認証をWEBブラウザではなくて、GITHUB_TOKENを利用して書き換える。
問題としてはcodespacesとしては権限を適切に持たせたアカウントで動いているためこのようなことが起こる。そしてトークンを上書きできない。
それをヘルパーで上手く使えるようにしてくれている。
大変感謝です。