CodeCommit を使ってみよう

March 18, 2019


まずは 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  
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   |  
|            .    |  
|                 |  
$ ls -al codecommit*  
-rw-------  1 yuki  staff  1679 Mar 17 14:01 codecommit  
-rw-r--r--  1 yuki  staff   410 Mar 17 14:01  

IAM ユーザに SSH キーを登録

CodeCommit へのアクセス権を持った IAM ユーザに公開鍵の登録を行う。
対象の IAM ユーザに IAM Policy CodeCommitFullAccess を付与し、その後、IAM ユーザ設定画面の [Upload SSH Public Key] から先ほど作成した公開鍵の中身をコピーペーストでアップロードする。


ここで、SSH キー ID を控えておき、以下のように ~/.ssh/config に設定を追加しておく。

Host git-codecommit.*  
     IdentityFile ~/.ssh/codecommit  


まずは以下の要領で CodeCommit に接続する。

$ ssh  
You have successfully authenticated over SSH. You can use Git to interact with AWS CodeCommit. Interactive shells are not supported.Connection to closed by remote host.  
Connection to closed.  

あとは Git の設定を行い、Origin に CodeCommit の URL を追加する。

$ git remote -v  
origin (fetch)  
origin (push)  
$ git remote set-url --add origin ssh://  
$ git remote -v  
origin (fetch)  
origin (push)  
origin					ssh:// (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 '' 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://  
 * [new branch]      master -> master  

 © 2023, Dealing with Ambiguity