1.AWS CodeCommitとは?
「AWS CodeCommit は、プライベート Git リポジトリをホストする、安全で高度にスケーラブルなマネージド型のソース管理サービス」です。平たく言えば、「簡単にプライベートなGitリポジトリが利用できるAWSサービス」です。
料金は、5ユーザまで、ストレージ50GB/月まで、10,000Gitリクエスト/月まで、無料で利用できます。
詳細は下記AWSのCodeCommitの概要を参照して下さい。
2.使ってみる
2.2 gitアクセス用のIAMアカウントを作ってみる
設定内容
2.3 gitコマンドでcloneしてみる
gitの初期設定
PCにgitがインストールされてない場合は、gitをインストールします。
インストール後に、gitの初期設定として、(1)メールアドレス、(2)名前、(3)push時のモードを指定して、最後に設定内容を確認します。
$ git config --global user.email "xxxxxxx@gmail.com" $ git config --global user.name "xxxxxxxx" $ git config --global push.default simple $ git config --global -l
CodeCommitと接続しリポジトリをcloneする
- AWSコンソールで、CodeCommitの対象レポジトリに移動し「クローンURL」の「https」のURLをコピーする
- コンソールを開き、下記コマンドでcloneする
- 実行するとユーザ名とパスワードを聞かれるので、控えた「HTTPS Git 認証情報」を入力する
- "git branch"はcloneされたことを示すためのコマンドで必須ではない
$ git clone <https://リポジトリcloneURL> Cloning into 'リポジトリ名... Username for 'https://git-codecommit.ap-northeast-1.amazonaws.com': XXXXXXXX <==控えたユーザ名を入力 Password for 'https://XXXXXXXX@git-codecommit.ap-northeast-1.amazonaws.com': XXXXX <== 控えたパスワードを入力 $ cd <リポジトリ名称> $ git branch -a * master remotes/origin/HEAD -> origin/master remotes/origin/master
3.gitコマンドでの、HTTPS Git認証情報の扱いについて
cloneする時に入力したHTTPS接続ときのユーザ名とパスワードは、gitのcredential.helper機能を使い管理することができます。
管理モードは以下の5つです。*5
- 管理しない
- メモリ上に一時キャッシュする: cache
- テキストファイルで保存する: store
- (Macのみ)Macのキーチェーンを利用する: osxkeychain
- (Winのみ)Windowsの管理機能(Windows Credential Store)を利用する: wincred
プラットホームごとの確認はしてないですが、少なくともMacはosxkeychainがデフォルトのようですので、特に意識しなくても大丈夫そうです。(git公式ページのgit-osx-installerからセットアップした場合)
*1:https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/setting-up.html
*2:https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/best-practices.html#bp-use-aws-defined-policies
*3:IAMSelfManageServiceSpecificCredentialsは、自分のIAMの認証設定の参照/変更用ポリシーのようです
*4:IAMReadOnlyAccessは、IAM情報の参照用ポリシーのようです