ぬまろぐ

←戻る

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」を指定すれば無事クローンすることができるかと思います。