CodeCommitを使ってGitリポジトリを作成してみた
こんにちは、コンサル部@大阪オフィスのTodaです。
開発関連の勉強会に参加する前にAWS CodeCommitの予習で、作成から利用できるまでを試してみました。
前提条件
- CodeCommitリポジトリが未登録の状態から利用する。
- リポジトリはSSH接続にて利用する。
- 作業はMac PCを利用する。
CodeCommitを試してみる
リポジトリの作成
AWSマネージメントコンソール上からサービス > CodeCommitを選択します。
CodeCommit画面に移動したら上部の[リポジトリを作成]をクリックします。
リポジトリの設定を入力
リポジトリ作成に必要な情報を入力して[作成]をクリックします。
リポジトリの作成完了
リポジトリの作成成功のメッセージが表示されたら、作成は完了です。
上部の[URLのクローン]からgit cloneで利用する https:// または ssh:// のアドレスを取得する事ができます。
SSH用のキー生成
Mac PCのターミナルにてSSH接続に利用するパブリックキーとプライベートキーを生成します。
標準で導入されている ssh-keygenコマンド を利用して生成を行います。
ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/XXXXXXX/.ssh/id_rsa): (例)/Users/XXXXXXX/.ssh/test_repo Enter passphrase (empty for no passphrase): [パスワード指定 ※今回は空白] Enter same passphrase again: [パスワード再確認 ※今回は空白] Enter same passphrase again: Your identification has been saved in [パブリックキーのパス] Your public key has been saved in [プライベートキーのパス] The key fingerprint is: 以下生成に関する情報
上記でプライベートキーの「test_repo」とパブリックキーの「test_repo.pub」ファイルが生成されます。
ファイル名は「Enter file in which to save the key」の入力内容により変わります。
IAMユーザーの追加
今回、リポジトリにアクセスするユーザーを追加します。
AWSマネージメントコンソール上からサービス > IAM を選択、サブメニューからユーザーを選択します。
ユーザー画面に移動したら[ユーザーの追加]をクリックします。
ユーザーの設定を入力
ユーザー追加に必要な情報を入力します。
今回アクセスの種類は[プログラムによるアクセス]のみチェックを付けて[次のステップ]をクリックします。
アクセス許可の設定
既存のポリシーを直接アタッチから AWSCodeCommitPowerUser のポリシーにチェックを付けて[次のステップ]をクリックします。
タグの設定
入力なしで[次のステップ]をクリックします。
内容の確認
追加されるユーザーの情報が表示されます。
ポリシーの設定を確認して問題無ければ[ユーザーの作成]をクリックします。
作成の完了
ユーザーの作成が完了しました。
画面下の[閉じる]をクリックして一覧に戻ります。
SSHに関する設定
先ほど登録したユーザーの詳細画面を表示します。
SSHパブリックキーの登録アップロード
タブメニューから[認証情報]をクリックし、表示内のAWS CodeCommitのSSHキーから[SSHパブリックキーの登録アップロード]をクリックします。
SSHパブリックキーの入力
先ほど生成したパブリックキーをテキストエディタで開いて ssh-rsaから始まるテキストをコピーして貼り付けします。
貼り付け後、[SSHパブリックキーのアップロード]をクリックします。
SSHパブリックキー登録完了
登録が完了するとSSHキーの欄に行が追加されます。
表示されるSSHキーIDをメモに残します。
Mac にSSHの設定を追加
Macに git-codecommit.*.amazonaws.comのSSH接続時に生成したIDとキーファイルを利用するように設定します。
% vi ~/.ssh/config # 下記設定を追記 Host git-codecommit.*.amazonaws.com User [SSHキーID] IdentityFile [プライベートキーのパス (例)~/.ssh/test_repo]
git cloneを利用できるか確認
設定完了後、試しで作成したディレクトリに移動を行いgit clone を実行します。
% cd [お試しのディレクトリパス] % git clone ssh://git-codecommit.XXXXXXX.amazonaws.com/v1/repos/[リポジトリ名] Cloning into 'test-XXXXXXXXX'... remote: Counting objects: 3, done. Receiving objects: 100% (3/3), done.
さいごに
CodeCommitの準備を試してみました。
CodeCommitはAWSサービス内で提供されているCodeDeployなどと連携を行いスムーズにデプロイをすることが可能です。
今回は開発向けの勉強会で利用するため事前に予習をしてみました。