このブログはプログラム開発や学習などの際に役立つ知識や情報を発信するエンジニアのためのトータル技術ブログです。
ご意見やご要望にも積極的に答えていきますので、お気軽にお問い合わせください。

記事へのリクエストはこちら

【Rails】ブラウザのみで共同開発をして感動したお話

Ruby on Rails
スポンサーリンク

天下の Google様がとんでもなく便利な拡張機能を開発したのを知ったのでシェアさせてください。

Secure Shell App
Terminal emulator and SSH and SFTP client.

 

簡単に説明しますと 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 のインストール確認

$ git version

 

・git のインストール(なかった場合のみ)

$ sudo yum -y install git

 

・rbebv をクローン

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

 

・rbenv環境の設定

# PATH に通す
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile

# .bash_profile に追加
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

# 設定の再読み込み
$ exec $SHELL -l

 

・インストール確認

$ rbenv --version

 

・ruby-build をクローン

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

 

・Ruby のバージョン確認

$ rbenv install --list

 

ズラーっとバージョンの一覧が表示されますのでインストールしたいバージョンを取得する。(通常は最新のバージョンがいいかと思います)

 

・取得したバージョンでインストール

$ rbenv install -v 3.x.x

 

・更新

#再読み込み
$ rbenv rehash
#インストールしたバージョンに設定
$ rbenv global 2.0.0-p353

 

・バージョン確認

$ ruby -v

 

指定したバージョンになっていれば問題ないです。

 

SSH 設定

 

作業するための Railsプロジェクトを Git からクローンするために SSH の設定を行います。

以下のコマンドを実行してください。

 

・SSH鍵の作成

#フォルダ移動
$ cd ~/.ssh

#ssh鍵の作成
$ ssh-keygen

#確認
$ ls
=>id_rsa  id_rsa.pub

#公開鍵の出力(リモートリポジトリに登録用に控えておく)
$ cat id_rsa.pub

※クローン先のリモートリポジトリに出力した公開鍵を登録しておいてください。僕は今回は共同開発の方が Bitbucket を使っていたためそこに登録しました。

どこのリモートリポジトリからクローンするのか設定しておく必要がありますので Vim を使って設定を書き込みます。

 

・Config の設定

#configファイル作成
$ touch config

#configファイルを開く
$ vi config

 

vim が開いたら i で編集モードにして以下の情報を書き込んでください。

・~/.ssh/config

#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 しましょう。

 

・リモートリポジトリからクローン

$ git clone git@bitbucket.org:{repositoryName}.git

※上記コマンドsshの設定をすればは各リモートリポジトリに記載されていますのでコピペでOKです。

ローカルのリポジトリに対象のリモートリポジトリがクローンされているかと思います。
 ls などで確認ができましたらプロジェクトのフォルダに移動して以下のコマンドを実行します。

 

・パスを指定してgemのインストール

$ bundle install --path vendor/bundle

 

次にデータベースをマイグレーションします。以下のコマンドを実行してください。

・git のインストール確認

$ bundle exec rake db:migrate

 

きつね先生
きつね先生

バージョン4以上は rails db:migrate になります。

 

データベースもリモートリポジトリと同じになりました。最後にサーバーを起動してアクセスすれば画面が表示されます。

 

・IPアドレス付きでサーバーに接続

$ bundle exec rails s -b 192.168.xx.xx

 

終了になります。お疲れ様です!

 

さいごに

 

最後まで読んでいただきありがとうございます。

初めて AWS Cloud9 を使った時も中々に感動しましたが、これもまた別ですごいなーという感想でした。

開発はもうWebにさえ繋がればいつでもどこでもできる時代ですしこういうツールは積極的に使いながら効率よい開発をしていきたいですね!

ssh の設定などは自分で Config書いたり、基本vimでコードも書いていくのがいいと思いますので慣れないとちょっと大変かもしれませんが、勉強にもなりますし、無料ですし是非さわってみてください。

この記事を気に入っていただけましたらTwitterでもプログラミングに関してのツイートをリアルタイムでしていますので
ご一緒にフォローもお願いします。

スポンサーリンク
あっきー

元キャバクラ店長から未経験でエンジニアに転職した異端児。

「週4の5時間勤務、月収100万円」を実現させ、ゆるりと生きることを目標に日々パソコンと奮闘している。

自分の経験を元に、未経験からでも挫折しないプログラミングの勉強方法や最新技術や情報などを発信していきます。

あっきーをフォローする
Ruby on Rails
\良い記事だったらシェアしてね!/
スポンサーリンク
駆け出しエンジニアのつぶやき