Getting Started for Mac

前提

  • Ruby (推奨するバージョン 1.9.3以上) がインストールされていること
  • Ruby on Rails (推奨するバージョン: 3.2以上) がインストールされていること
  • Git (推奨するバージョン: 1.7.0以上) がインストールされていること
  • MySQL (推奨するバージョン: 5.5.0以上) がインストールされていること

Step 1. サインアップ

サインアップ 後に使用している公開鍵を登録します。持っていない場合は新規作成します。

公開鍵を登録します

「新規公開鍵の作成」に任意の名前を入力すると、公開鍵が登録され、秘密鍵がダウンロードされます。

ターミナルから下記のコマンドを実行します。ターミナルが起動していない場合は Finder を起動し、
アプリケーション > ユーティリティ > ターミナル を実行します。
(例では ~/Downloads に秘密鍵がダウンロードされているものとします)

$ mkdir .ssh
$ mv ~/Downloads/sqale.id_rsa ~/.ssh/id_rsa
$ chmod 600 ~/.ssh/id_rsa

Step 2. 新規プロジェクトを作成

ダッシュボードの「新規アプリケーションを作成」をクリックします。

「新規アプリケーションを作成」をクリック

英数半角のみでアプリケーション名を入力します。
"アプリケーション名-ユーザー名.sqale.jp" がアプリケーションのURLとなります。

アプリケーション名を入力します

Step 3. Git の URL をコピー

アプリケーションの作成が開始されると、ダッシュボードに現在の状況が表示されます。

ダッシュボードに現在の状況が表示されます

アプリケーションの作成が完了すると上記のように URL や Git の情報が表示されます。
Git の右に表示されている Clone の値をコピーします。

Git の右に表示されている Clone の値をコピーします

新規作成のアプリケーションの場合

Step 4. Git の URL をペーストしてコマンドを実行

ターミナルから下記のコマンドを実行します。ターミナルが起動していない場合は Finder を起動し、
アプリケーション > ユーティリティ > ターミナル を実行します。

$ git clone ssh://sqale@gateway.sqale.jp:2222/repogee/repogee-app.git repogee-app

上記の例だと repogee-app というディレクトリが作成されます。

Step 5. 作成されたディレクトリに移動

$ cd repogee-app

Step 6. Rails アプリケーションを作成する

$ rails new .

上記のコマンドで移動したディレクトリに Rails アプリケーションを作成します。
必要に応じて bundle install も実行してください。

Step 7. コードを保存して Sqale サーバにアップロードする

動作確認用の Welcome ページを作成します。

$ bundle exec rails generate controller welcome index

ダッシュボードのアプリケーション詳細からたどることが出来る共有データベースの情報を確認し、
データベースの情報を config/database.yml に書き込みます。

データベースの情報

production:
  adapter: mysql2
  encoding: utf8
  database: Database Name
  pool: 5
  host: mysql001.sqale.jp
  username: Database User
  password: Database Password

database.yml 保存後に MySQL を使うための設定を Gemfile に書き込みます。

gem 'mysql2', :group => :production

Gemfile を保存後に Git でコードを Sqale サーバに転送します。

$ git add .
$ git commit -m 'Rails アプリケーションを作成'
$ git push origin master

Step 8. データベースにアプリケーションで必要なテーブルを作成する(optional)

Rails アプリケーションを動かすために必要なテーブルをデータベースに作成します。

$ ssh -p 2222 sqale@gateway.sqale.jp

ログインするコンテナの選択肢が表示されます。

今回は共有データベースを操作するだけなので 1 を選択します。
アプリケーションが配置されているディレクトリに移動して rails のデータベース変更コマンドを実行します。

$ cd current
$ RAILS_ENV=production bundle exec rake db:migrate

Step 9. アプリケーションの再起動

データベースの変更をアプリケーションに反映させるために、アプリケーションを再起動します。

$ /etc/init.d/app restart

再起動が終わったらログアウトします。

Step 10. ブラウザでアプリケーションにアクセスする

$ open "http://repogee-app-repogee.sqale.jp/welcome/index"

作成済みのアプリケーションの場合

Step 1. 作成したアプリケーションのディレクトリに移動する

$ cd sample_app

Step 2. Sqale の git url をリモートとして設定するコマンドを実行する

$ git remote add sqale ssh://sqale@gateway.sqale.jp:2222/repogee/repogee-app.git

Step 3. Gemfile を Sqale 用に変更する

group :production do
  gem 'mysql2'
end

pg は Sqale では使用不可能です。production グループに存在する場合はコメントアウト、または削除します。

Step 4. Gemfile.lock を更新して git commit する

$ bundle install
$ git add Gemfile Gemfile.lock
$ git commit -m "update dependency"

Step 5. コードを保存して Sqale サーバにアップロードする

ダッシュボードのアプリケーション詳細からたどることが出来る共有データベースの情報を確認し、
データベースの情報を config/database.yml に書き込む。

データベースの情報

production:
  adapter: mysql2
  encoding: utf8
  database: Database Name
  pool: 5
  host: mysql001.sqale.jp
  username: Database User
  password: Database Password

変更を保存して、git commit する

$ git add config/database.yml
$ git commit -m "update database configuration."
$ git push sqale master

Step 6. データベースにアプリケーションで必要なテーブルを作成する (optional)

$ ssh -p 2222 sqale@gateway.sqale.jp

ログインするコンテナを選択するよう促されます。
今回は共有データベースを操作するだけなので 1 を選択します。
アプリケーションが配置されているディレクトリに移動して rails のデータベース作成コマンドを実行します。

$ cd current
$ RAILS_ENV=production bundle exec rake db:migrate

Step 7. アプリケーションを再起動する

起動中のアプリケーションがデータベースの変更を認識できていない場合を防ぐために、アプリケーションを再起動します。Step 6. のsshログイン状態を継続して実行します。タイムアウト制限で切断された場合は ssh ログインからやりなおす必要があります。

$ /etc/init.d/app restart

再起動が終わったらログアウトします。

Step 8. ブラウザでアプリケーションにアクセスする

$ open "http://repogee-app-repogee.sqale.jp/"