Heroku に
         ChiliProject を
               入れてみた
                               倉澤 望 (鍋太郎)
Heroku に ChiliProject を入れてみた
                                  @nabetaro
                                       Powered by Rabbit 1.0.4
自己紹介
      ✓ プログラマー
      ✓ Debian JP
      ✓ 長野ソフトウェアエンジニアグ
        ループ (NSEG)
      ✓ twitter: @nabetaro
                                                   1/21
Heroku に ChiliProject を入れてみた          Powered by Rabbit 1.0.4
自己紹介
      ✓ Debian JP で文書翻訳
            ✓ インストールマニュアル
            ✓ po4a, apt, etc

      ✓ Subversion関係の翻訳
            ✓ TortoiseSVN のヘルプ(休止)
            ✓ svnbook(再開?)
                                                   2/21
Heroku に ChiliProject を入れてみた          Powered by Rabbit 1.0.4
はじめにお詫び
      ✓ 実際のところHerokuの超初心
        者です
      ✓ 読み方もよくわかっていませ
        ん。
      ✓ 間違っているところは教えてく
        ださい
                                                3/21
Heroku に ChiliProject を入れてみた       Powered by Rabbit 1.0.4
Herokuとは
      ✓ PaaS (Platform as a
        Service)
      ✓ Salesforce.com 傘下
      ✓ Ruby, Java, PHP, Scala,
        Clojure, Python
      ✓ 最低プランは無料
                                                       4/21
Heroku に ChiliProject を入れてみた              Powered by Rabbit 1.0.4
ChiliProjectとは

      ✓ Redmineからforkしたプロ
        ジェクト
      ✓ ってぐらいしか知らない
      ✓ 知らないから入れてみた

                                             5/21
Heroku に ChiliProject を入れてみた    Powered by Rabbit 1.0.4
やったこと
      ✓ http://
        devcenter.heroku.com/
        articles/quickstart
      ✓ http://
        www.hippiehacker.org/201
        1/03/redmine-up-and-
        running-in-minutes-on.html
                                                    6/21
Heroku に ChiliProject を入れてみた           Powered by Rabbit 1.0.4
必要なもの
      ✓ Ruby 1.9.2 推奨
            ✓ $ rvm install 1.9.2 && rvm use
              1.9.2 --default

      ✓ git
      ✓ herokuのアカウントとheroku
        のgem
            ✓ $ rvmsudo gem install heroku           7/21
Heroku に ChiliProject を入れてみた            Powered by Rabbit 1.0.4
プロジェクトを作って
    ChiliProjectを取ってくる
            $ mkdir nsegproject
            $ cd nsegproject/
            $ git init
            Initialized empty Git repository in /home/nabetaro/project/nseg/nsegproject/.git/
            $ git remote add chiliproject https://github.com/chiliproject/chiliproject.git
            $ git fetch chiliproject
            remote: Counting objects: 56488, done.
            remote: Compressing objects: 100% (12737/12737), done.
            remote: Total 56488 (delta 43290), reused 55587 (delta 42544)
            Receiving objects: 100% (56488/56488), 17.20 MiB | 1.06 MiB/s, done.
            Resolving deltas: 100% (43290/43290), done.
            From https://github.com/chiliproject/chiliproject
             * [new branch]      master     -> chiliproject/master
             ……
            $ git merge chiliproject/master
            $ git add .
            $ git commit -m 'clean version of base code'
            # On branch master
            nothing to commit (working directory clean)

                                                                                                 8/21
Heroku に ChiliProject を入れてみた                                                        Powered by Rabbit 1.0.4
Gemfileを編集

    ✓ source :rubygems のブロック
      に以下を追加してcommit

           gem 'giternal'
           gem 'heroku'

           $ git add Gemfile
           $ git commit -m 'Added Gemfile for heroku, and giternal'
           [master fc243d9] Added Gemfile for heroku, and giternal
            1 files changed, 3 insertions(+), 0 deletions(-)


                                                                          9/21
Heroku に ChiliProject を入れてみた                                 Powered by Rabbit 1.0.4
ライブラリのインストール
              $ gem install bundler
              $ bundle install

    ✓ libmysqlclient-dev
    ✓ libpq-dev
    ✓ libmagickcore-dev
    ✓ libmagickwand-dev
Heroku に ChiliProject を入れてみた
                                            10/21
                                 Powered by Rabbit 1.0.4
herokuにプロジェクトを追
           加

           $ heroku create nsegproject
           Enter your Heroku credentials.
           Email: nabetaro@caldron.jp
           Password:
           Found existing public key: /home/nabetaro/.ssh/id_rsa.pub
           Uploading ssh public key /home/nabetaro/.ssh/id_rsa.pub
           Creating nsegproject... done, stack is bamboo-mri-1.9.2
           http://nsegproject.heroku.com/ | git@heroku.com:nsegproject.git
           Git remote heroku added




                                                                              11/21
Heroku に ChiliProject を入れてみた                                       Powered by Rabbit 1.0.4
SESSION_SECRET追加


           $ heroku config:add SESSION_SECRET=`ruby -e 'require "rubygems" ;
             require "active_support" ;
             puts ActiveSupport::SecureRandom.hex(40)'`
           Adding config vars and restarting app... done
             SESSION_SECRET => d9a22eb2d2e6ed02...8226912d82cab7d5




                                                                                 12/21
Heroku に ChiliProject を入れてみた                                          Powered by Rabbit 1.0.4
config/initializers/
     session_store.rbを編集


         ActionController::Base.session = {
           :session_key => '_redmine_session',
           :secret => ENV['SESSION_SECRET']
         }


                                                    13/21
Heroku に ChiliProject を入れてみた             Powered by Rabbit 1.0.4
config/initializers/
     session_store.rbを追加


            $ git add -f config/initializers/session_store.rb
            $ git commit -m 'Added session key and secret to be populated via env variables'
            [master 041a493] Added session key and secret to be populated via env variables
             1 files changed, 4 insertions(+), 0 deletions(-)
             create mode 100644 config/initializers/session_store.rb




                                                                                               14/21
Heroku に ChiliProject を入れてみた                                                        Powered by Rabbit 1.0.4
外部連携は省略


      ✓ メール送信
      ✓ Amazon S3


                                              15/21
Heroku に ChiliProject を入れてみた       Powered by Rabbit 1.0.4
プラグイン置き場追加

      ✓ heroku で使用するため空ディ
        レクトリが必要
      ✓ gitは空ディレクトリを管理で
        きないので……
      ✓ README を作っておく
                                          16/21
Heroku に ChiliProject を入れてみた   Powered by Rabbit 1.0.4
プラグイン置き場追加


           $ mkdir public/plugin_assets
           $ echo this must exist > public/plugin_assets/README
           $ git add -f public/plugin_assets/README
           $ git commit -m 'Added plugin_asset dir for Heroku'
           [master 1fc2514] Added plugin_asset dir for Heroku
            1 files changed, 1 insertions(+), 0 deletions(-)
            create mode 100644 public/plugin_assets/README




                                                                    17/21
Heroku に ChiliProject を入れてみた                             Powered by Rabbit 1.0.4
Herokuにpushして
                  migrate


          $   git push heroku master
          $   heroku rake db:migrate
          $   heroku rake redmine:load_default_data REDMINE_LANG=ja
          $   heroku open




                                                                       18/21
Heroku に ChiliProject を入れてみた                                Powered by Rabbit 1.0.4
お、できたできた




                                           19/21
Heroku に ChiliProject を入れてみた    Powered by Rabbit 1.0.4
しばらくいじってみよう


      ✓ http://
        nsegproject.heroku.com/


                                          20/21
Heroku に ChiliProject を入れてみた   Powered by Rabbit 1.0.4
感想
      ✓ 想像以上に手軽
      ✓ heroku の各サブコマンドを調
        べよう
      ✓ その前に rack アプリをもっと
        勉強するべき
            ✓ 今回の中でも、やっただけで使って
              ないとか……         21/21
Heroku に ChiliProject を入れてみた        Powered by Rabbit 1.0.4

Heroku に ChiliProject を入れてみた

  • 1.
    Heroku に ChiliProject を 入れてみた 倉澤 望 (鍋太郎) Heroku に ChiliProject を入れてみた @nabetaro Powered by Rabbit 1.0.4
  • 2.
    自己紹介 ✓ プログラマー ✓ Debian JP ✓ 長野ソフトウェアエンジニアグ ループ (NSEG) ✓ twitter: @nabetaro 1/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 3.
    自己紹介 ✓ Debian JP で文書翻訳 ✓ インストールマニュアル ✓ po4a, apt, etc ✓ Subversion関係の翻訳 ✓ TortoiseSVN のヘルプ(休止) ✓ svnbook(再開?) 2/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 4.
    はじめにお詫び ✓ 実際のところHerokuの超初心 者です ✓ 読み方もよくわかっていませ ん。 ✓ 間違っているところは教えてく ださい 3/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 5.
    Herokuとは ✓ PaaS (Platform as a Service) ✓ Salesforce.com 傘下 ✓ Ruby, Java, PHP, Scala, Clojure, Python ✓ 最低プランは無料 4/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 6.
    ChiliProjectとは ✓ Redmineからforkしたプロ ジェクト ✓ ってぐらいしか知らない ✓ 知らないから入れてみた 5/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 7.
    やったこと ✓ http:// devcenter.heroku.com/ articles/quickstart ✓ http:// www.hippiehacker.org/201 1/03/redmine-up-and- running-in-minutes-on.html 6/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 8.
    必要なもの ✓ Ruby 1.9.2 推奨 ✓ $ rvm install 1.9.2 && rvm use 1.9.2 --default ✓ git ✓ herokuのアカウントとheroku のgem ✓ $ rvmsudo gem install heroku 7/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 9.
    プロジェクトを作って ChiliProjectを取ってくる $ mkdir nsegproject $ cd nsegproject/ $ git init Initialized empty Git repository in /home/nabetaro/project/nseg/nsegproject/.git/ $ git remote add chiliproject https://github.com/chiliproject/chiliproject.git $ git fetch chiliproject remote: Counting objects: 56488, done. remote: Compressing objects: 100% (12737/12737), done. remote: Total 56488 (delta 43290), reused 55587 (delta 42544) Receiving objects: 100% (56488/56488), 17.20 MiB | 1.06 MiB/s, done. Resolving deltas: 100% (43290/43290), done. From https://github.com/chiliproject/chiliproject * [new branch] master -> chiliproject/master …… $ git merge chiliproject/master $ git add . $ git commit -m 'clean version of base code' # On branch master nothing to commit (working directory clean) 8/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 10.
    Gemfileを編集 ✓ source :rubygems のブロック に以下を追加してcommit gem 'giternal' gem 'heroku' $ git add Gemfile $ git commit -m 'Added Gemfile for heroku, and giternal' [master fc243d9] Added Gemfile for heroku, and giternal 1 files changed, 3 insertions(+), 0 deletions(-) 9/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 11.
    ライブラリのインストール $ gem install bundler $ bundle install ✓ libmysqlclient-dev ✓ libpq-dev ✓ libmagickcore-dev ✓ libmagickwand-dev Heroku に ChiliProject を入れてみた 10/21 Powered by Rabbit 1.0.4
  • 12.
    herokuにプロジェクトを追 加 $ heroku create nsegproject Enter your Heroku credentials. Email: nabetaro@caldron.jp Password: Found existing public key: /home/nabetaro/.ssh/id_rsa.pub Uploading ssh public key /home/nabetaro/.ssh/id_rsa.pub Creating nsegproject... done, stack is bamboo-mri-1.9.2 http://nsegproject.heroku.com/ | git@heroku.com:nsegproject.git Git remote heroku added 11/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 13.
    SESSION_SECRET追加 $ heroku config:add SESSION_SECRET=`ruby -e 'require "rubygems" ; require "active_support" ; puts ActiveSupport::SecureRandom.hex(40)'` Adding config vars and restarting app... done SESSION_SECRET => d9a22eb2d2e6ed02...8226912d82cab7d5 12/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 14.
    config/initializers/ session_store.rbを編集 ActionController::Base.session = { :session_key => '_redmine_session', :secret => ENV['SESSION_SECRET'] } 13/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 15.
    config/initializers/ session_store.rbを追加 $ git add -f config/initializers/session_store.rb $ git commit -m 'Added session key and secret to be populated via env variables' [master 041a493] Added session key and secret to be populated via env variables 1 files changed, 4 insertions(+), 0 deletions(-) create mode 100644 config/initializers/session_store.rb 14/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 16.
    外部連携は省略 ✓ メール送信 ✓ Amazon S3 15/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 17.
    プラグイン置き場追加 ✓ heroku で使用するため空ディ レクトリが必要 ✓ gitは空ディレクトリを管理で きないので…… ✓ README を作っておく 16/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 18.
    プラグイン置き場追加 $ mkdir public/plugin_assets $ echo this must exist > public/plugin_assets/README $ git add -f public/plugin_assets/README $ git commit -m 'Added plugin_asset dir for Heroku' [master 1fc2514] Added plugin_asset dir for Heroku 1 files changed, 1 insertions(+), 0 deletions(-) create mode 100644 public/plugin_assets/README 17/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 19.
    Herokuにpushして migrate $ git push heroku master $ heroku rake db:migrate $ heroku rake redmine:load_default_data REDMINE_LANG=ja $ heroku open 18/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 20.
    お、できたできた 19/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 21.
    しばらくいじってみよう ✓ http:// nsegproject.heroku.com/ 20/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4
  • 22.
    感想 ✓ 想像以上に手軽 ✓ heroku の各サブコマンドを調 べよう ✓ その前に rack アプリをもっと 勉強するべき ✓ 今回の中でも、やっただけで使って ないとか…… 21/21 Heroku に ChiliProject を入れてみた Powered by Rabbit 1.0.4