Sqale で fulcrum を利用する

このマニュアルでは、 Sqale で Fulcrum を利用する方法を説明します。

Fulcrum http://wholemeal.co.nz/projects/fulcrum.html はオープンソースのプロジェクトマネジメントツールです。


Fulcrum のインストール方法

GitHub から Fulcrum のソースコードをダウンロードします。
※Fulcrum のインストールには Ruby on Rails と Git と Bundler がインストールされている必要があります

GitHub から fulcrum のリポジトリをチェックアウトし、ソースコードをダウンロードします。
※以下、先頭の $ マークは入力不要です

$ git clone git://github.com/malclocke/fulcrum.git

fulcrum ディレクトリが作成されるので移動します。

$ cd fulcrum

Bundler を利用して依存するライブラリをインストールします。

$ gem install bundler
$ bundle install

データベースを設定します。

$ bundle exec rake fulcrum:setup db:setup

Rails サーバーを起動します。

$ rails server

Fulcrum のログイン画面

ログインページが表示されたら Fulcrum のインストールは完了です。


Fulcrum のセットアップ方法

データベース接続情報の設定

ダッシュボードのアプリケーション詳細ページからデータベース接続情報のページを開き、データベース接続情報を Rails の database.yml 形式でコピーします。

fulcrum/config ディレクトリの中にある database.yml というファイルをテキストエディタで開き、 production: で始まる行から最後までを削除して、先ほどコピーしたデータベース接続情報をペーストして保存します。

diff --git a/database.yml b/database.yml
index efe79f4..992dc48 100644
--- a/database.yml
+++ b/database.yml
@@ -12,8 +12,10 @@ test:
   timeout: 5000

 production:
-  adapter: sqlite3
-  database: db/production.sqlite3
-  pool: 5
-  timeout: 5000
+  adapter: mysql2
+  encoding: utf8
+  username: sqale_xxxxxxxxxx
+  password: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+  database: sqale_xxxxxxxxxx
+  host: mysql001.sqale.jp

Fulcrum の設定

fulcrum/config ディレクトリの中にある fulcrum.example.rb というファイルを fulcrum.rb という名前でコピーし、テキストエディタで開きます。

fulcrum.rb の内容を編集し、 app_host にアプリケーションのドメインを入力して保存します。

Configuration.for('fulcrum') do
  # Set this to the domain name of your installation.  Env var APP_HOST
  #app_host 'example.com'
  app_host 'fulcrum-ユーザー名.sqale.jp'   # <- この行を追加します

  # The email address that notification emails will be sent from.  Env var
  # MAILER_SENDER
  #mailer_sender 'noreply@example.com'

  # Disable registration pages.  If set to true, users will need to be invited
  # to a project rather than being able to self sign-up.
  # Env var DISABLE_REGISTRATION
  #disable_registration false
end

次に、 Fulcrum からメールを送信するための設定を行います。メールの送信には Gmail アカウントを利用します。

fulcrum/config/initializers ディレクトリの中に新しく gmail.rb というファイルを作成し、テキストエディタで開き、以下の内容をペーストして保存します。
※user_name と password はご自分の Gmail アカウントのものに置き換えてください

require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

require 'tlsmail'
Net::SMTP.enable_tls(OpenSSL::SSL::VERIFY_NONE)

ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.perform_deliveries = true
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.smtp_settings = {
  :enable_starttls_auto => true,
  :address            => 'smtp.gmail.com',
  :port               => 587,
  :tls                  => true,
  :domain             => 'gmail.com', #you can also use google.com
  :authentication     => :plain,
  :user_name          => 'xxxxxxxx@gmail.com',
  :password           => 'xxxxxxxxxxxxxxxx'
}

Gemfile の設定

fulcrum ディレクトリの中にある Gemfile というファイルをテキストエディタで開き、以下のように編集して保存します。

diff --git a/Gemfile b/Gemfile
index b4627bc..6d707bc 100644
--- a/Gemfile
+++ b/Gemfile
@@ -23,7 +23,7 @@ gem 'fastercsv', '1.5.3', :platforms => :ruby_18
 # (using standard csv lib if ruby version is 1.9)

 group :production do
-  gem 'pg'              # <- この行を削除します
+  gem 'mysql2'          # <- この行を追加します
 end

 group :development, :test do
@@ -49,3 +49,5 @@ if ENV['TRAVIS'] == 'true'
     end
   end
 end
+
+gem 'tlsmail'           # <- この行を追加します

編集したら以下のコマンドを実行します。

$ bundle install

Git の設定

fulcrum ディレクトリの中にある .gitignore というファイルをテキストエディタで開き、先頭の二行を削除して保存します。

diff --git a/.gitignore b/.gitignore
index 2982b23..c811b44 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,3 @@
-config/database.yml   # <-
-config/fulcrum.rb     # <- この二行を削除します
 .bundle
 db/*.sqlite3
 log/*.log
@@ -7,4 +5,4 @@ tmp/
 .rvmrc
 .sass-cache/
 *.DS_Store
-config/deploy.rb
\ No newline at end of file
+config/deploy.rb

編集したファイルを Sqale にデプロイするために、 Git コミットします。

$ git add .
$ git commit -m 'Setup'

Fulcrum のセットアップは以上です。


Fulcrum のデプロイ方法

Git を利用して Fulcrum を Sqale にデプロイします。

Sqale のダッシュボードにログインして、新規アプリケーションを作成します。作成したアプリケーションの詳細ページを開き、 Git Clone URL をコピーします。

fulcrum ディレクトリに移動し、 Git URL を設定します。ターミナルにコマンドを入力したあと、コピーした Git URL をペーストします。

以下のようなコマンドが入力できたらリターンキーを押して Git URL を設定します。
※ユーザー名・アプリケーション名の部分はご自身のユーザー名・アプリケーション名に置き換えてください

$ git remote add sqale ssh://sqale@gateway001.sqale.pb:2222/ユーザー名/アプリケーション名.git

Git コマンドでデプロイを実行します。
※デプロイの状況はダッシュボードのアクティビティに表示されます

$ git push sqale master

sqale に SSH 接続し、 Fulcrum をデプロイしたアプリケーションにログインします。ログイン後、以下のコマンドを実行します。

$ cd /home/sqale/current
$ RAILS_ENV=production bundle exec rake db:setup
$ /etc/init.d/app restart

ブラウザで http://アプリケーション名-ユーザー名.sqale.jp/ にアクセスします。 Fulcrum のセットアップに成功していればログイン画面が表示されます。

Fulcrum のログイン画面

新規ユーザーを作成するために、 Sign up リンクをクリックしてサインアップ画面を開きます。

Fulcrum のサインアップ画面

名前とイニシャルとメールアドレスを入力して新規ユーザーを作成します。
※全て半角英数字で入力してください

メールアドレスに確認メールが送信されるので、メールに記載のリンクをクリックしてユーザー登録を完了させます。

確認メールの URL をクリックする

新規ユーザーが作成されたら、ログイン用のパスワードを設定します。
※パスワードは半角英数字で入力してください

Fulcrum の新規ユーザーのパスワードを設定する

パスワードを設定したら新規プロジェクトを作成します。
※プロジェクト名は半角英数字で入力してください

Fulcrum の新規プロジェクトを作成する

新規プロジェクトが作成されました。

Fulcrum のプロジェクト画面

Fulcrum のデプロイ手順は以上です。