リポジトリの作成
まずは CodeCommit リポジトリを作成から。
マネジメントコンソールの [リポジトリの作成] から実際にリポジトリを作ってみよう。
作成すると、リポジトリ一覧から確認できるようになる。
SSH 接続の設定
まずは、CodeCommit 用の SSH キーの作成を行う。
$ ssh-keygen -t rsa -b 2048 -f codecommit
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in codecommit.
Your public key has been saved in codecommit.pub.
The key fingerprint is:
SHA256:KGZXUmbWvTtLlFXPWPHUyLhTOqVXG8V+RpYjWeU7V/g yuki@HomeMacs-Mac-mini.local
The key's randomart image is:
+---[RSA 2048]----+
| =. . oo*%|
| = . oo*@O|
| . . X+=X|
| + X .o*|
| + o S . = +E|
| o o + o|
| . o |
| . |
| |
+----[SHA256]-----+
$ ls -al codecommit*
-rw------- 1 yuki staff 1679 Mar 17 14:01 codecommit
-rw-r--r-- 1 yuki staff 410 Mar 17 14:01 codecommit.pub
IAM ユーザに SSH キーを登録
CodeCommit へのアクセス権を持った IAM ユーザに公開鍵の登録を行う。
対象の IAM ユーザに IAM Policy CodeCommitFullAccess を付与し、その後、IAM ユーザ設定画面の [Upload SSH Public Key] から先ほど作成した公開鍵の中身をコピーペーストでアップロードする。
ここで、SSH キー ID を控えておき、以下のように ~/.ssh/config に設定を追加しておく。
Host git-codecommit.*.amazonaws.com
User APKAXXXXXXXXXXXXXXXX
IdentityFile ~/.ssh/codecommit
リポジトリに接続
実際にリポジトリに接続し、コードをアップロードする。
まずは以下の要領で CodeCommit に接続する。
$ ssh git-codecommit.us-west-2.amazonaws.com
You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to git-codecommit.us-west-2.amazonaws.com closed by remote host.
Connection to git-codecommit.us-west-2.amazonaws.com closed.
あとは Git の設定を行い、Origin に CodeCommit の URL を追加する。
$ git remote -v
origin https://github.com/xxx/LogChance.git (fetch)
origin https://github.com/xxx/LogChance.git (push)
$ git remote set-url --add origin ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/LogChance
$ git remote -v
origin https://github.com/U-PIN/LogChance.git (fetch)
origin https://github.com/U-PIN/LogChance.git (push)
origin ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/LogChance (push)
ここまで来たらあとは git push origin master で GitHub と CodeCommit に同時に変更がプッシュされる形になる。
$ git push origin master
Everything up-to-date
Warning: Permanently added the RSA host key for IP address '52.119.168.71' to the list of known hosts.
Counting objects: 1482, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (1324/1324), done.
Writing objects: 100% (1482/1482), 1.57 MiB | 1.44 MiB/s, done.
Total 1482 (delta 424), reused 0 (delta 0)
To ssh://git-codecommit.us-west-2.amazonaws.com/v1/repos/LogChance
* [new branch] master -> master