AWS CodeCommitにリモートリポジトリを作ってローカルリポジトリからgit pushするまで
手元にあるローカル環境のマシンはWindows10 ProでAWS CodeCommitは東京リージョンの場合です。あらかじめローカル環境Windows10 ProにGit for Windowsをインストールしておいてください。各コマンドは基本的にWindows PowerShellで実行しました。
AWSコードシリーズのおさらい
AWSのCodeなんちゃら達を確認。
- CodeCommit・・・(Git)リポジトリ
- CodeBuild・・・ソースコードのビルド/テスティングサービス
- CodeDeploy・・・ビルドされたモジュールのデプロイサービス
- CodePipeline・・・継続的デリバリー/継続的インテグレーションをサポートするサービス
最初にAWS上のCodeCommitリポジトリを空っぽで作って、ローカルリポジトリでindex.htmlファイルを作り、ローカルリポジトリからAWS上のCodeCommitの空っぽのリポジトリにgit pushするところまでやります。
CodeCommitにリポジトリを作る
- CoedeCommitへ
- リポジトリを作る
- 作ったリポジトリの名前をメモる
AWSのCodeCommitにSSH接続するためのキーペア作成
キーペア配置用のフォルダをつくる
mkdir c:\Users\Windwosのユーザー名\.ssh
作ったフォルダに移動
cd c:\Users\Windwosのユーザー名\.ssh
AWSのCodeCommitにアクセスするため、手元のWindows10やMacbookなどのローカルマシンでキーペアを作る(下記は、Windows10の場合の鍵生成コード)
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
※EC2インスタンスからAWSリソースを利用する場合、IAMユーザのアクセスキーではなくIAM Roleを利用してください。今回はローカルのWindows10 ProからAWSのCodeCommitにSSH接続しますので、SSHのキーペアを使います。
出来上がった、.ssh/id_rsa.pub が公開鍵です。
AWSのIAMユーザーに公開鍵登録
- IAMへ
- ユーザーへ
- 公開鍵登録するユーザーを選ぶ
- タブで「認証情報」へ
- AWS CodeCommit の SSH キーで「SSHパブリックキーのアップロード」をクリック
- 公開鍵を登録
- AWS CodeCommit の HTTPS Git 認証情報で「認証情報を生成」をクリック
- 「SSHキーID」をメモる
- さらに「ユーザー名」と「パスワード」をメモる、か、「証明書のダウンロード」で保管する
code commitへの接続用 .ssh/configファイル作成
ローカルのマシンでSSHキーIDを、たとえば以下の様に.ssh/configファイルへ記載
Host git-codecommit.*.amazonaws.com
User Your-IAM-SSH-Key-ID-Here
IdentityFile ~/.ssh/config
ローカルにcode commitリポジトリをgit clone
リポジトリを配置するためのディレクトリをローカルのマシンに作り、そのディレクトリに移動して、CodeCommitの東京リージョンなら、以下のコマンドでgit cloneしてCodeCommitのリポジトリをローカルに作る
git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/最初にcode commitに作ったリポジトリの名前
リポジトリは以下の様にローカルに作られる
リポジトリを配置するためのフォルダ/最初にcode commitに作ったリポジトリの名前
そのため次の様に移動
cd リポジトリを配置するためのフォルダ/最初にcode commitに作ったリポジトリの名前
移動先で、以下の様な index.htmlファイル を作成し保存
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<title>HTMLテスト</title>
</head>
<body>
<p>HTMLファイル作成!</p>
</body>
</html>
git add .
git commit -m "first commit index.html"
git logでcommit idを確認してみる
git log
この流れだとなんとなくしたくなるgit status
git status
AWSのCodeCommit上にあるリポジトリにプッシュする前にリモートリポジトリ設定を確認。リモート先のoriginリポジトリを確認してください。
git remoete -v
こんな感じになっていればOK
origin ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/最初にcode commitに作ったリポジトリの名前 (fetch)
origin ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/最初にcode commitに作ったリポジトリの名前 (push)
リモートリポジトリにプッシュ
git push origin master
AWSのCodeCommitのリポジトリの画面でindex.htmlが出来ていれば成功