5/17/2007

把你的 Rails App 打包成 RPM Package

剛剛看到 gigix 寫的 Create RPM For Your Rails Application,這是一個叫做 rpmpackager 的 rails plugin,目的是將你的 Rails App 打包成 RPM Package。我覺得這個東西假設配合 RubyWorks ,是一個在 Fedora Like Linux 上面還算是不錯的 deploy 的好作法。






前置工作

在使用這個 plugin 之前,系統上面必須安裝而且設定好 rpmbuild 這個工具。

安裝 plugin

ruby script/plugin install http://rubyworks.googlecode.com/svn/trunk/rpmpackager/

設定

設定檔在 vendor/plugins/rpmpackager/config.yml 裡面,內容是

configuration:
app_name: app的名字
description: 敘述
license: Apache
version: 1.2.1
release: 1
# RPM dependencies. separated with commas dependencies: openssl, mysql >= 5.0
# 這裡敘述著 RPM 之間的 dependencies
# 如果我要使用 openssl 跟 MySQL 5.0 以上的版本,就這樣寫
# openssl, mysql>=5.0
# 中間用 , 分開
# gem dependencies and installation indecies
# 0 for gems don't need selection
# gem 之間的 dependencies ,0 代表不用,1 代表需要這個 gem package
gems:
redcloth: 0
rcov: 1

打包 RPM

使用 rake rpm_package 來打包成 RPM ,他會將 RPM Package 放在 /usr/src/redhat/RPMS/i386/ 底下。而打包好的 RPM 會自動安裝到 /usr/local/lib/rails-apps/#{app_name} 底下。


沒有留言: