Cloud9で開発している既存プロジェクトをCodeCommitでバージョン管理。Githubでもいいんですが、今回はCodeCommitを使ってみます。
Contents
この記事で出来ること
Cloud9で開発しているプロジェクトをCodeCommitにリポジトリ登録します。
ま、これだけです。
なので、Cloud9で開発してるプロジェクトが有ることが前提で、話を進めます。
バックアップ取得
万一に備え、プロジェクトのバックアップを取っておきましょう。
Cloud9を開き、File → Download 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してみましょう。