何が出来る?
CodeCommitで今現在(2015年10月現在)出来ることをまとめました。
- gitのプライベートリポジトリ
- AWSのIAMを用いたユーザ認証およびリポジトリの共有
- マネジメントコンソールにてソースコードの閲覧
何が出来ない?
CodeCommitで、現時点では出来ないことをまとめました。
- パブリックにアクセスできるリポジトリ
- ap-northeast-1(東京)リージョンのリポジトリ
- WebHook
Setup
Setupの手順に沿って、次の設定をします。
- Step 1: IAMユーザおよびアクセスキーの作成、ポリシのアタッチ
- Step 2: Gitのインストール
- Step 3: 開発環境 Credentialの設定
- Step 4: リポジトリの作成
Step 1: IAMユーザおよびアクセスキーの作成、ポリシのアタッチ
マネジメントコンソールにログインし、CodeCommitを利用するためのユーザを作成します。gitコマンドからCodeCommitにアクセスする際にはアクセスキーが必要となるので、あらかじめ作成しておきます。
ポリシーとして、AWSCodeCommitFullAccess をアタッチします。
Step 2: Gitのインストール
gitが開発環境にインストールされていない場合は、あらかじめインストールを済ませておきます。
Step 3: 開発環境 Credentialの設定
はじめに、開発環境にて ssh-keygen コマンドを実行して、秘密鍵/公開鍵の組を生成します。
$ ssh-keygen -f ~/.ssh/codecommit_rsa
$ cat ~/.ssh/codecommit_rsa.pub
(あとで、マネジメントコンソールにてSSH公開鍵をアップロードします)
つぎに、IAMのマネジメントコンソールにてCodeCommitを利用するユーザにポリシーとして IAMUserSSHKeys をアタッチします。つづけて、"Upload SSH public key"ボタンをクリックして、先ほど生成したSSHの公開鍵を貼り付けてアップロードします。
さいごに、開発環境にてgitからCodeCommitのIAM認証をするための設定を追加します。
なお、User の行では、IAMのマネジメントコンソールにて表示される
AWS CodeCommit の SSH キーのアクセスキーを設定します。IAMのアクセスキーIDとは異なるため、ご注意ください。
$ vi ~/.ssh/config
$ chmod 600 ~/.ssh/config
Host git-codecommit.*.amazonaws.com
User APKAEIBAERJR2EXAMPLE
IdentityFile ~/.ssh/codecommit_rsa
以上で設定が完了しました。次のコマンドを実行し、正しく設定ができていることを確認します。
$ ssh git-codecommit.us-east-1.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-east-1.amazonaws.com closed by remote host.
Connection to git-codecommit.us-east-1.amazonaws.com closed.
Step 4: リポジトリの作成
Step.1 - 3.にて、CodeCommitを使用するための前準備が完了しました。Step 4.では、CodeCommitのマネジメントコンソールにログインして、リポジトリを作成します。
たとえば、リポジトリ"example-repo"を作成します。
つぎに、開発環境の端末にてリポジトリのcloneを実行します。
git clone ssh://git-codecommit.us-east-1.amazonaws.com/v1/repos/example-repo
Getting Started
AWS CLIを用いたレポジトリの作成方法やgitの基本的な使い方など、基本的な使い方についての解説がGetting Startedに記載されています。git初心者の人は一読すると良いと思います。