天下の Google様がとんでもなく便利な拡張機能を開発したのを知ったのでシェアさせてください。
簡単に説明しますと Cloud9 のような Web上の IDE とはまた別でブラウザでターミナル操作ができるというものです。ベータ版だというのに既に全然イケてるレベルです。
このターミナルでルビーのインストール→Railsプロジェクトを Gitクローンで共同開発した時の流れを書いていきますので開発方法の1つとして参考になれば幸いです。
ほとんど Ruby on Rails の記事に見えますが、肝心なのはこの作業を Webブラウザのみでおこなったということですのでよかったら最後まで読んでいただけましたら幸いです。
さいしょに
今回のシチュエーションは以下になります。
共同開発者の仮想環境に SSH接続でログインして作業する:事前に必要な情報
・ユーザー名
・パスワード
・IPアドレス
限定的なシチュエーションですし汎用的かはわからないですが、こんなこともあるでしょうから同じような状況がもしありましたらそちらの部分でも参考にもなるかと思います。
また、git でクローンするため予め GitHub か Bitbucket のアカウントを所有していることとします。
あとは冒頭の secure shell app の拡張機能を追加しておいたら準備完了です。
Web画面で SSH接続
Google のアドレスバーに ssh と入力したら スペース を入れてください。
secure shell app が起動しますので予め教えてもらった情報から ユーザー名@IPアドレス で入力します。
Enter でターミナルが起動します。
ん~すごい!!
でたらめな情報ですのでプロセスが終了してしてますが、ちゃんとホスト情報が正しければパスワード入力を求められますので パスワード を入力後 Enter で接続完了です!
rbenv で Ruby のインストール
正直もうぼくが伝えたかったことはこれで終了(笑)なのですが、物足りない気もしますので、環境構築まで一連も書いていきます。おまけですがおまけの方が長くなりそうですw
Ruby のインストールなのですが、rbenv という Ruby のバージョン管理パッケージを使用してインストールをおこないました。
バージョンによる縛りが強い Rails ですので Ruby のどのバージョンを使うかは重要です。
なので、基本これ使ったほうがいい気がします。
起動した secure shell app で以下のコマンドを実行してください。
・git のインストール確認
ターミナル
1 |
$ git version |
・git のインストール(なかった場合のみ)
ターミナル
1 |
$ sudo yum -y install git |
・rbebv をクローン
ターミナル
1 |
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv |
・rbenv環境の設定
ターミナル
1 2 3 4 5 6 7 8 |
# PATH に通す $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile # .bash_profile に追加 $ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile # 設定の再読み込み $ exec $SHELL -l |
・インストール確認
ターミナル
1 |
$ rbenv --version |
・ruby-build をクローン
ターミナル
1 |
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build |
・Ruby のバージョン確認
ターミナル
1 |
$ rbenv install --list |
ズラーっとバージョンの一覧が表示されますのでインストールしたいバージョンを取得する。(通常は最新のバージョンがいいかと思います)
・取得したバージョンでインストール
ターミナル
1 |
$ rbenv install -v 3.x.x |
・更新
ターミナル
1 2 3 4 |
#再読み込み $ rbenv rehash #インストールしたバージョンに設定 $ rbenv global 2.0.0-p353 |
・バージョン確認
ターミナル
1 |
$ ruby -v |
指定したバージョンになっていれば問題ないです。
SSH 設定
作業するための Railsプロジェクトを Git からクローンするために SSH の設定を行います。
以下のコマンドを実行してください。
・SSH鍵の作成
ターミナル
1 2 3 4 5 6 7 8 9 10 11 12 |
#フォルダ移動 $ cd ~/.ssh #ssh鍵の作成 $ ssh-keygen #確認 $ ls =>id_rsa id_rsa.pub #公開鍵の出力(リモートリポジトリに登録用に控えておく) $ cat id_rsa.pub |
※クローン先のリモートリポジトリに出力した公開鍵を登録しておいてください。僕は今回は共同開発の方が Bitbucket を使っていたためそこに登録しました。
どこのリモートリポジトリからクローンするのか設定しておく必要がありますので Vim を使って設定を書き込みます。
・Config の設定
ターミナル
1 2 3 4 5 |
#configファイル作成 $ touch config #configファイルを開く $ vi config |
vim が開いたら i で編集モードにして以下の情報を書き込んでください。
~/.ssh/config
1 2 3 4 5 6 7 8 9 |
#Bitbucket の場合 Host bitbucket HostName bitbucket.org IdentityFile ~/.ssh/id_rsa #GitHubの場合 Host github HostName github.com IdentityFile ~/.ssh/id_rsa |
書き込んだら esc で編集モードを解除を行い wq で上書き保存で vim を終了します。
基本的なvimコマンド
少し話は逸れますが、せっかく vimコマンドを使ったので頻繁に使う(個人差はあります)コマンドを簡単にまとめておきました。
僕は必要な時は使うけど vimmer ではないですし emacs との宗教戦争に巻き込まれたくないのであまり深く書かないです笑
コマンド | 説明 |
---|---|
vi [filename] | 指定ファイルをvimで起動 |
i | 編集モード |
esc(keyboard) | 編集モードを終了 |
:w | 変更内容の保存 |
:q | vimを終了 |
:wq | 変更内容を保存してvimを終了 |
vi . | ディレクトリ構成をツリー状で表示 |
Enter | 選択ファイルを開く |
v | ファイルを分割して開く |
ctrl + w | ファイル間の移動 |
vs | ファイルを縦割りで開く |
sp | ファイルを横割りで開く |
Git Clone
先ほどの設定でリモートリポジトリ接続時の ssh鍵を設定できました。
これでローカルとリモートでの疎通ができますのでリモートリポジトリより Clone しましょう。
・リモートリポジトリからクローン
ターミナル
1 |
$ git clone git@bitbucket.org:{repositoryName}.git |
※上記コマンドsshの設定をすればは各リモートリポジトリに記載されていますのでコピペでOKです。
ローカルのリポジトリに対象のリモートリポジトリがクローンされているかと思います。
ls などで確認ができましたらプロジェクトのフォルダに移動して以下のコマンドを実行します。
・パスを指定してgemのインストール
ターミナル
1 |
$ bundle install --path vendor/bundle |
次にデータベースをマイグレーションします。以下のコマンドを実行してください。
・git のインストール確認
ターミナル
1 |
$ bundle exec rake db:migrate |
バージョン4以上は rails db:migrate になります。
データベースもリモートリポジトリと同じになりました。最後にサーバーを起動してアクセスすれば画面が表示されます。
・IPアドレス付きでサーバーに接続
ターミナル
1 |
$ bundle exec rails s -b 192.168.xx.xx |
終了になります。お疲れ様です!
さいごに
最後まで読んでいただきありがとうございます。
初めて AWS Cloud9 を使った時も中々に感動しましたが、これもまた別ですごいなーという感想でした。
開発はもうWebにさえ繋がればいつでもどこでもできる時代ですしこういうツールは積極的に使いながら効率よい開発をしていきたいですね!
ssh の設定などは自分で Config書いたり、基本vimでコードも書いていくのがいいと思いますので慣れないとちょっと大変かもしれませんが、勉強にもなりますし、無料ですし是非さわってみてください。
この記事を気に入っていただけましたらTwitterでもプログラミングに関してのツイートをリアルタイムでしていますので
ご一緒にフォローもお願いします。