#はじめに
普段GitHubを使っているのでCodeCommiからのgitクローンのやり方がわからず、多大な時間を使ってしまったので、多くの方の時間削減につながれば幸いです。
#前提
ソースコードがCodeCommitにありレポジトリやIAMなどアカウントが作成せれている。
#開発環境
macOS BigSur
バージョン 11.5.1
#手順
公式ガイドを参考すると以下の手順になりますが、単にクローンするだけであれば不要な設定もありました。
1、AWS CLI インストール ← 不要
2、AWS Secret Access Keyを作成する ← 不要
3、aws configureファイルの設定 ← 不要
4、gitconfigファイルの設定
5、git keychainを無効にする
6、認証情報の取得
7、git clone
1〜3までは必須では無く(厳密には必要かもしれませんが)4以降でクローンはできました。重要で必須なのは5と6です。
今回簡単にできた方法を紹介します。
###目次(手順)
1、git keychainを無効にする
2、IAM の自分のロールで認証情報を取得
3、git clone
#実装
それでは実際に作業を進めていきます。
##1、git keychainを無効にする
まず、git クローンしてみます。
git clone https://git-codecommit/xxxxxxxxxx
この時点ではfatal: Authentication failed for
が返ってきます。
GitHabではこれだけで良かったのですが、CodeCommitの場合、Keychain Access ユーティリティで保存されている認証情報の有効期限が15分しかないのでこれを無効にする必要があります。
git config -l --show-origin | grep credential
このコマンドで下記のhelper=osxkeychainを探します。
file:/path/to/gitconfig credential.helper=osxkeychain
helper=osxkeychaiがあればコメントアウトします。
xx/xx/xx/gitconfigのファイルパスのgitconfigの中にあります。
cd xxx
とかで対象のパスに移動しコメントアウトしてください。
ファイルには色んな行き方があるみたいなので、いずれかの方法を試してください。
##2、IAM の自分のロールで認証情報を取得
##3、git clone
git クローンします。
この時点でユーザーやパスワードを聞かれず、何かしらエラーが返っていたら環境に問題があるので、gitconfigやenvの中身を見て余分なものは削除してください。
git clone https://git-codecommit.xxxxxxxxxx
Username for 'https://git-codecommit.xxxxxxx':
Password for 'https://git-codecommit.xxxxxxx':
ここで先程作成した認証情報を打ち込むとクローンされます。
#最後に
この手順で簡単にクローンできますが、僕の場合は環境に問題があって解決するのに2日くらい費やしてしまいました。
この、トラブルシューティングの記事もいずれ更新できれば思ってます。
#参考
Keychain無効
AWS公式ガイド
Qiita