AWSのCodeCommitでソースコードをバージョン管理する手順
2018/12/10
ソースコードをgitでバージョン管理する際はgitサーバを構築する必要がありますが、AWSアカウントを持っている場合はcodecommitを使って無料で管理することができるため、その方法を紹介します。
CodeCommitについて
CodeCommitはAWSのサービスの1つで、gitサーバとして使うことができます。基本的には無料で使えるため、自前で用意するよりはCodeCommitを使う方が便利です。
ただし、アクティブユーザが5人を超える場合は有料となってきます。料金は以下に詳しく書いてあります。 ⇒CodeCommitの料金
CodeCommitを使うための手順・準備
公式の手順は以下に記載がありますが、ここでは簡単に手順をまとめます。 ⇒CodeCommmitの設定手順
手順1. IAMでCodeCommitのアクセス権限を持つユーザを作成する
まずは、AWSのIAMでユーザを作成し、CodeCommitのアクセス権 「AWSCodeCommitFullAccess」を付与します。
手順2. Windows端末にGit for Windowsをインストール
開発端末がWindowsの前提になりますが、Windows端末にGit for Windowsをインストールします。 ⇒Git for Windowsのダウンロードサイト
途中でSSH executableを聞かれますが、「use OpenSSH」を選択します。
手順3. 公開鍵と秘密鍵を生成する
Git for Windowsをインストールすると、OpenSSHのssh-keygen.exeもインストールされるため、これを実行して公開鍵と秘密鍵を作ります。パスフレーズはなしでも大丈夫です。
デフォルトだと以下のフォルダに鍵が生成されます。 ■フォルダ: C:\Users[ユーザ名].ssh ・id_rsa・・・秘密鍵 ・id_rsa.pub・・・公開鍵
手順4. IAMユーザに公開鍵をアップロードする
手順1で作成したIAMユーザの「認証情報」タブに「SSH公開キーのアップロード」ボタンがあるため、手順3で生成した公開鍵(id_rsa.pub)をアップロードします。
アップロード後に「SSHキーID」が表示されるためこれを控えます。(後の設定で使います)
手順5. configファイルを作成する
手順3で作成した鍵と同じフォルダに「config」というファイル名のファイルを作成します。ファイルの中身は以下のようにします。
Host git-codecommit.*.amazonaws.com User “SSHキーID” IdentityFile ~/.ssh/id_rsa
手順6. CodeCommitでリポジトリを作成する
AWSマネジメントコンソールにログインし、サービスからCodeCommitを選択します。CodeCommitの管理画面からリポジトリを作成できるため作成します。
作成したリポジトリを選択し、そのリポジトリの画面を表示すると「URLのクローン」ボタンがあるため、これをクリックし「SSHのクローン」をクリックします。これでSSHクローン用のURLがクリップボードにコピーされます。
手順7. 端末からリポジトリをクローンする
Windows端末でリポジトリのクローンを作成したいフォルダで右クリックをし、「Git Bash Here」を選択します。以下のコマンドでリポジトリのクローンを作成できます。
git clone [手順6でクリップボードにコピーしたURL]
補足:TortoiseGitでCodeCommitを利用する方法
補足ですが、TortoiseGitからもCodeCommitを利用できます。
TortoiseGitはputtyフォーマットの鍵しか読めないようなので、TortoiseGitに付属しているPuTTYgenを起動して、手順3で生成した秘密鍵(id_rsa)をputtyフォーマットに変換する必要があります。
TortoiseSVNでリポジトリをクローンする際に、「設定」->「Remote」->「Putty Key」にputtyフォーマットに変換した秘密鍵を指定します。
また、接続する際に「login as」と聞かれるため、「SSHキーID」を指定すれば無事クローンすることができるかと思います。