momoto.github.io

Red Hat OpenShiftにRedmine 2.0を展開する

 Red Hat OpenShiftにプロジェクト管理ソフトウェアのRedmine 2.0を展開します。rhcとredmine-2.0-openshift-quickstartを使用しています。あらかじめOpenShiftのアカウントを作成している必要があります。

  1. Ruby 1.9のアプリケーションを作成する

     rhc app createでアプリケーションを作成します。-aにはアプリケーション名、-tにはウェブカートリッジを指定します。

    $ rhc app create -a redmine -t ruby-1.9
    Application Options
    -------------------
      Namespace:  momoto
      Cartridges: ruby-1.9
      Gear Size:  default
      Scaling:    no
    
    Creating application 'redmine' ... done
    
    Waiting for your DNS name to be available ... done
    
    Cloning into 'redmine'...
    Checking connectivity... done
    
    Your application 'redmine' is now available.
    
      URL:        http://redmine-momoto.rhcloud.com/
      SSH to:     *
      Git remote: *
      Cloned to:  ~/Workspace/redmine
    
    Run 'rhc show-app redmine' for more details about your app.
    

     アプリケーションの作成と同時に、Gitリポジトリがローカルにクローンされています。

  2. MySQL Database 5.1カートリッジを追加する

     rhc cartridge addでMySQL Database 5.1アドオンカートリッジを追加します。追加できるカートリッジはrhc cartridgesまたはrhc cartridge listで確認できます。

    $ rhc cartridge add -a redmine -c mysql-5.1
    Adding mysql-5.1 to application 'redmine' ... done
    
    mysql-5.1 (MySQL Database 5.1)
    ------------------------------
      Gears:          Located with ruby-1.9
      Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/
      Database Name:  *
      Password:       *
      Username:       *
    
    MySQL 5.1 database added.  Please make note of these credentials:
           Root User: *
       Root Password: *
       Database Name: *
    Connection URL: mysql://$OPENSHIFT_MYSQL_DB_HOST:$OPENSHIFT_MYSQL_DB_PORT/
    You can manage your new MySQL database by also embedding phpmyadmin-3.4.
    The phpmyadmin username and password will be the same as the MySQL credentials above.
    
  3. redmine-2.0-openshift-quickstartを併合する

    1.  OpenShiftからクローンしたローカルリポジトリにワーキングディレクトリをうつします
    2.  GitHubのredmine-2.0-openshift-quickstartupstreamとしてリモートリポジトリに追加します
    3.  ローカルリポジトリにupstreamを併合します(MERGE STRATEGYはrecursive、recursive strategyのオプションはtheirs)

     もし、OpenShiftからリポジトリをクローンしなおす場合はrhc git-clone <app>をつかいます。

    $ cd redmine/
    $ git remote add upstream -m master git://github.com/openshift/redmine-2.0-openshift-quickstart.git
    $ git pull -s recursive -X theirs upstream master
    warning: no common commits
    remote: Counting objects: 2003, done.
    remote: Compressing objects: 100% (1725/1725), done.
    remote: Total 2003 (delta 300), reused 1897 (delta 199)
    Receiving objects: 100% (2003/2003), 4.06 MiB | 272.00 KiB/s, done.
    Resolving deltas: 100% (300/300), done.
    From git://github.com/openshift/redmine-2.0-openshift-quickstart
     * branch            master     -> FETCH_HEAD
    Auto-merging config.ru
    Auto-merging README.md
    Auto-merging .openshift/cron/weekly/jobs.allow
    Auto-merging .openshift/cron/README.cron
    ...
    
  4. OpenShiftに展開する

     redmine-2.0-openshift-quickstartと併合したローカルリポジトリを、OpenShiftのリモートリポジトリ(origin)に更新します。

    $ git push origin master
    Counting objects: 2011, done.
    Delta compression using up to 2 threads.
    Compressing objects: 100% (1625/1625), done.
    Writing objects: 100% (2001/2001), 4.06 MiB | 1.58 MiB/s, done.
    Total 2001 (delta 307), reused 1989 (delta 300)
    remote: Stopping Ruby cart
    remote: Running build on Ruby cart
    remote: Bundling RubyGems based on Gemfile/Gemfile.lock to repo/vendor/bundle with 'bundle install --deployment'
    remote: Fetching gem metadata from http://rubygems.org/.........
    ...
    

     git pushの処理が終わったら、ウェブブラウザからアプリケーションのURLへアクセスして動作を確認します。アプリケーションのURLはrhc show-app <app>からも確認できます。

 OpenShiftではRedmineのほか、DjangoCakePHPWordPress 3.xなどのクイックスタートも用意されています。

参考

関連記事