AWSにもGitリポジトリって作れるんですね。
ってことで、触ったことがないものはとりあえず触りたいマンなので使ってみました。
僕のプロフィールはこちら
CodeCommitの使い方
CodeCommitのリポジトリ作成
まずはCodeCommitの画面を開いて、「リポジトリを作成」ボタンをクリックします。
上記のように適当に入力したら「作成」ボタンをクリックします。
でけた。
「URLのクローン」のHTTPとかをクリックすると、クローンする際のURLがコピーされます。
SSH接続するためのキーを作成
リポジトリとSSHでやり取りするためには、パブリックキー・プライベートキーが必要です。
EC2の画面を開き、「キーペアを作成」をクリックします。
適当な名前を付けて、「キーペアを作成」をクリックします。
作成すると、勝手にキーペアがダウンロードされます。
IAMユーザへのパブリックキー設定
僕の場合、IAMユーザをそもそも作っていなかったので、作成してユーザをクリック。
認証タブに「SSHパブリックキーのアップロード」があるのでクリックします。
ここに先ほどダウンロードしたパブリックキーの内容を貼り付けます。の前に、
先ほどの鍵をPutty GenでLoadし、「Public key for pasting…」の部分をコピペして貼り付けます。
ローカルにプライベートキーの設定
ユーザ\.ssh
にconfigファイルがない場合はconfigファイルを作成し、
1 2 3 |
Host git-codecommit.*.amazonaws.com User <アクセスキーID> IdentityFile <ppkファイルのフルパス> |
のように設定します。
実際にクローンしてみる
さて、これでいけるのか不安しかないですがやってみます。
1 2 3 4 5 6 7 8 |
$ git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/test Cloning into 'test'... Load key "C:\\Users\\\346\263\211\343\200\200\346\265\251\345\205\265\\Desktop\\CodeCommit\\test-code-commit.ppk": invalid format <キーID>@git-codecommit.ap-northeast-1.amazonaws.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. |
はい、だめー。
やり忘れていたこと
IAMユーザへの権限付与
IAMユーザへ権限を付与していませんでした。
ので、ポリシー「AWSCodeCommitFullAccess」をアタッチします。
configファイルの内容が間違っていた
1 2 3 |
Host git-codecommit.*.amazonaws.com User <SSHキーID> IdentityFile <ppkファイルのフルパス> |
さっきアクセスキーIDって書いたんですけど、正しくは「SSHキーID」でした。
ppkじゃなくpemにして再度キーペアを作成した
ppkファイルでキーペアを作ったんですけど、それをpemにして、諸々やり直しました。
再度、やってみる
git cloneしたら~、
きた!
適当なファイル「test.txt」をプッシュまでやってみたら~、
きた!
まとめ
CodeCommit自体はそこまで難しくないっすね。
あとはこいつを使って、他サービスと連携させれば面白いことができるかもしれないっすね。
さいなら。