AWS Cloud9 から Bitbucket へ Push

2019/02/19

以前、AWS Cloud9で Laravel の開発環境を構築しました。

AWS Cloud9 で開発環境が整ったら次は Git での管理になります。
(※本当は最初にやっておく作業ですね。。)

今回は AWS Cloud9 で開発したデータを BitBucket へプッシュしてみます。

 

手順

1)Bitbucket上でリポジトリを作る

Bitbuketのダッシュボード画面、左メニューにある「+」マークをクリック。

「create」-> 「リポジトリ」をクリックして新規リポジトリを作成します。すると以下の画面が出てきます。

特に指定がなければ、「リポジトリ名」だけ入力して「リポジトリの作成」をクリック。

 

2)鍵の作成

ssh-keygenコマンドを使って公開鍵と秘密鍵を生成します。


$ cd ~/.ssh
$ ssh-keygen -t rsa -C [メアド的なもの]

「Enter file in which to save the key」と聞かれるので、鍵の名前を入力します。何も入力せずにエンターを押すと「id_rsa」という名前で作成されます。

次に「Enter passphrase (empty for no passphrase):」と、パスフレーズを聞かれるので入力します。何も入力せずにエンターを押すとパスフレーズ無しで生成します。

上記のコマンドを実行すると、~/.sshディレクトリが作成され、その中に公開鍵(id_rsa.pub)と秘密鍵(id_rsa)が作成されます。

 

3)公開鍵をBitbuketにコピー

公開鍵(id_rsa.pub)を Bitbucket に配置します。

 
1.lessやcatコマンドなどで公開鍵の内容を表示


$ cat ~/.ssh/id_rsa.pub

 
 
2.Bitbucket のサイトにアクセスして以下の作業を行います。

1)ユーザアイコン => 「Bitbucket setting」
2)「セキュリティ」 => 「SSH 鍵」 => 「鍵を追加」
3)出力されたフォームに適当な「ssh-rsa」を入力し、「Key」の箇所に先ほどコピーした公開鍵の内容をペーストします。

 

4)authorized_keys に公開鍵を追記する

Cloud9 ではデフォルトで Cloud9 IDE 用の SSH公開鍵(~/.ssh/authorized_keys)があらかじめ設定されています。

作成した公開鍵を authorized_keys に追記します。


cat ~/.ssh/id_rsa.pub >> authorized_keys

これで less コマンドでなどで authorized_keys を見ると、id_rsa.pubの中身が追加されているのが確認できるかと思います。

2019.02.19 修正

当初、id_rsa.pub を authorized_keys に上書きする記述をしていました。しかし、読者の方から「これをすると Cloud9 IDE が開くことができなくなった」とご連絡を頂きましたので、ここの箇所を上記に修正いたしました。情報提供くださった方、ありがとうございます。

 

5)パーミッションを 600 にする

秘密鍵はセキュリティー上、パーミッションを 600 にする必要があります。


chmod 600 ~/.ssh/authorized_keys
chmod 600 ~/.ssh/id_rsa 

 

6)リポジトリの設定

1.プロジェクトへ移動
2.Gitリポジトリの新規作成
3.リモートリポジトリの追加


cd [管理したいディレクトリ]
git init
git remote add origin [リポジトリURL]

 

7)gitの設定(gitconfig)

Git を使う前に gitconfig の設定をしておきます。

以下は最低限しておくといい gitconfig の設定メモです。


git config --global user.name [名前]
git config --global user.email [email]
git config --local core.quotepath false

 

core.quotepath とは?

falseにすると、git status で変更ファイル一覧を表示するときに、日本語のファイル名が文字化けしないでちゃんと表示されるようになります。

 

8)pushする


git add .
git commit -m "first commit"
git push origin master

Gitコマンドについて怪しい方は下記のページをご参考ください。

 

9)動作確認

Bitbucket にアクセスしてリモートリポジトリにプッシュしたデータが入っているか確認します。

上記のように入っていればOKです。

このあと、本番環境からリモートリポジトリのデータをプル(もしくはクローン)すればサイトを公開することができます。

以上です。

本庄マサノリ

仕事でLaravelを使っています。気づいたことや新しい発見など情報を発信していきます。メールはこちら

 

-環境構築