[AWS] Cloud9のプロジェクトをCodeCommitで管理

Cloud9で開発している既存プロジェクトをCodeCommitでバージョン管理。Githubでもいいんですが、今回はCodeCommitを使ってみます。

この記事で出来ること

Cloud9で開発しているプロジェクトをCodeCommitにリポジトリ登録します。

ま、これだけです。

なので、Cloud9で開発してるプロジェクトが有ることが前提で、話を進めます。

バックアップ取得

万一に備え、プロジェクトのバックアップを取っておきましょう。

Cloud9を開き、FileDownload Project

プロジェクト名のZipファイルがダウンロードされます。

認証情報の生成

CodeCommitに接続する際に使用する、ユーザ名・パスワードを生成します。

IAMにアクセスし、アクセス管理ユーザー をクリック

AWS CodeCommitのHTTPS Git 認証情報 にある 認証情報を生成 をクリック

認証情報の生成に成功すると以下画面が表示されます。

証明書のダウンロードをクリックするとユーザー名とパスワードが記録されたCSVがダウンロードできます。

パスワードを確認できるのはこのタイミングだけなので、ウッカリ閉じたりしないよう気を付けましょう。

CodeCommitにリポジトリ設置

Cloud9に認証情報を登録

Cloud9 を開いて、ターミナルを開きます。

タブの + を押してNew Terminal

手始めに、ユーザ名とメールアドレスを登録します。以下コマンドを実行

ユーザー名:認証情報で得たユーザー名
メールアドレス:なんでも大丈夫です

$ git config --global user.name "ユーザー名"
$ git config --global user.email メールアドレス

ローカルリポジトリの作成

プロジェクトディレクトリに移動して、initコマンドを実行。空のローカルリポジトリを作成します。

プロジェクトディレクトリの直下に.gitディレクトリが作成されます。

$ git init
Initialized empty Git repository in /home/ec2-user/environment/プロジェクトディレクトリ/.git/   #直下に.gitディレクトリを作成

コミット対象を登録して、

#コミット対象をindexに追加
$ git add /home/ec2-user/environment/プロジェクトディレクトリ/
コミットして、ファイルを反映させます。
#コミット
$ git commit -m 'first commit' #コミット時のコメントを記入

これでローカルリポジトリにプロジェクト内容を登録できました。

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

次はリモートリポジトリを作成していきます。

CodeCommitを開き、リポジトリリポジトリを作成

リポジトリ名を入力して作成をクリック。

リポジトリ名は分かりやすいものを入力してOK。プロジェクト名と異なっていても問題ありません。

他の項目については、デフォルトのままで。

作成後、右上の URLのクローンHTTPSのクローン をクリック。

リモートリポジトリのURLがクリップボードにコピーされます。

ターミナルでpushします。

URL部分にコピーした内容を貼り付けてEnter

#リモートリポジトリにプッシュ
$ git push --set-upstream CodeCommitのURLを指定

ユーザー名とパスワードを聞かれるので、認証情報で取得したユーザー名とパスワードを入力。

#ユーザーIDとパスワードを入力
Username for 'URL':
Password for 'URL':

Pushがはじまります。

pushでエラーになった場合の対処

pushでエラーになってしまう場合、権限がない可能性があります。(403エラー等)

その場合はrootユーザーで試してみましょう。以下コマンドでrootユーザーに切り替えます。

#rootユーザーに切り替え
$ sudo su -

切替後、再度pushしてみましょう。