LoginSignup
61
59

More than 5 years have passed since last update.

【AWS】CodeCommitを使ってみた

Last updated at Posted at 2017-10-06

はじめに

AWSのリポジトリサービス「CodeCommit」の使ってみました。
「HTTPS」と「SSH」のツーパターンりますが、今回は「SSH」のやり方になります。

IAMの作成

SSH用CodeCommitグループの作成

  1. グループ名設定 スクリーンショット 2017-10-06 1.12.03.png
  2. ポリシーのアタッチで以下の3つのポリシーを当てる
    • IAMUserSSHKeys スクリーンショット 2017-10-06 1.15.47.png
    • IAMReadOnlyAccess スクリーンショット 2017-10-06 1.16.11.png
    • AWSCodeCommitFullAccess スクリーンショット 2017-10-06 1.17.20.png
  3. 確認を押してグループを作成する スクリーンショット 2017-10-06 1.22.11.png

SSH用IAMユーザを作成する

  1. IAMユーザを「プログラムでのアクセス」で作成
    スクリーンショット 2017-10-06 2.22.49.png

  2. グループ指定では先程作成したグループを指定
    スクリーンショット 2017-10-06 2.24.12.png

  3. 確認画面で「ユーザの作成」を押して完了
    スクリーンショット 2017-10-06 2.24.55.png

  4. 今回アクセスキーは使用しないため、削除する

    • アクセスキーの☓ボタンを押す スクリーンショット 2017-10-06 2.26.37.png
    • 確認画面にて「削除」を選択 スクリーンショット 2017-10-06 2.27.17.png
    • 削除されたことを確認する。 スクリーンショット 2017-10-06 2.27.30.png

公開鍵とIAMの連携

ssh-keygenコマンドで公開鍵の作成

  • コマンドを実行し、Overwiteでyを入力する以外はすべてエンター。
  • デフォルトだとid_rsaの名前で公開鍵が書かれたファイルができます。
  • 今回はVisual Studio Codeを使ってます。 スクリーンショット 2017-10-06 10.08.41.png

公開鍵をCodeCommitのIAMユーザに登録する

  1. ssh-keygenコマンドで作成した際に出来た、/Users/****/.ssh/id_rsa.pubの内容をコピーする。

    • id_rsa.pubはそのまま作成した場合の名称、作成時に入力していればその名前のファイル
  2. 作成したIAMユーザのSSH公開キーアップロードに、コピーした公開キーをアップする。
    スクリーンショット 2017-10-06 10.21.34.png
    スクリーンショット 2017-10-06 11.40.21.png

  3. 以下のように表示されればアップロード完了
    スクリーンショット 2017-10-06 11.41.33.png

SSH設定ファイルを編集

Configファイル(~/.ssh/config) 編集

Host git-codecommit.*.amazonaws.com
  User (IAMに公開鍵を登録した際に発行されたSSHキーID)
  IdentityFile ~/.ssh/(公開鍵ファイル名[今回はid_rsa])
  • IAMに公開鍵を登録した際に発行されたSSHキーID
    スクリーンショット 2017-10-06 15.05.38.png

  • viコマンドでconfigファイルに書き込み
    スクリーンショット 2017-10-06 15.08.23.png

  • 上記の内容を書き込んで保存
    スクリーンショット 2017-10-06 15.12.16.png

CodeCommitへの接続

リモートリポジトリの作成

  • CodeCommitでリモートリポジトリを作成する スクリーンショット 2017-10-06 16.03.53.png

git CloneコマンドでSSH接続

  • 作成すると以下の画面が表示されるので、Git cloneコマンドをコピーする スクリーンショット 2017-10-06 16.04.43.png
git clone ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/sample_repository
  • コピーしたgit cloneコマンドを入力、無事にリポジトリからコピーが出来たことを確認できました。 スクリーンショット 2017-10-06 16.20.10.png

既存のローカルディレクトリをPUSHする場合

ローカル環境でGitを用意

$ git init
Initialized empty Git repository in /(ディレクトリパス)/.git/

リモートリポジトリの設定

$ git remote add origin ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/Sample_Repository
$ git remote -v
origin  ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/Sample_Repository (fetch)
origin  ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/Sample_Repository (push)

ローカルリポジトリにCommit

$ git add --all
$ git commit -m "first commit"

リモートリポジトリにPush

$ git push origin master
Counting objects: 3, done.
Writing objects: 100% (3/3), 272 bytes | 272.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To ssh://git-codecommit.ap-northeast-1.amazonaws.com/v1/repos/Sample_Repository
 * [new branch]      master -> master

CodeCommitにPushされていることを確認

スクリーンショット 2017-10-06 22.20.40.png

まとめ

GithubからCodeCommitに移行しようとおもったので作業しつつ記述
AWSのヘルプにも書いてある事だけど挿絵をさして自分がわかりやすいように残しました!
次はCodeCommitにPushしたらCodeDeployでデプロイ出来るようにしたいです。

参考ページ

サルでもできるCodeCommit コピペでgit cloneするまで

61
59
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
61
59