途中でソースを失ったり、初めてのRubyForge/RubyGem/Gitでスケジュールが遅れましたが、やっとリリースできました。
Rocket-starterとは何かというと、思い立ったときに簡単にrailsアプリを作り始めれるように、定型手段をまとめたもので、具体的には
- subversionを使うならtrunkとbranchesとtagsフォルダを作る
- railsコマンドでrailsアプリを作る
- railsアプリの要らないファイルを削除する
- railsアプリのtmpとかlogなどのようなものをignoreに指定する
- 適切なタイミング(数回)でsubversionまたはgitにコミットする
- いつもインストールするようなプラグインをテキストファイルにまとめておくと、一気にインストールしてくれる
- RaPTというgemを入れておくと、railsプラグインをそれで管理してくれる このへん参照
- なるべく楽をするため、configのひな形を編集する事で、設定値を保存しておける
目指したものは、masuidriveさんの言うrails-create-svnなどのスクリプトです。
rails-create-svn自体はmasuidriveさんの個人的なスクリプトで、公開はされていないのですが、考え方的なものにはすごく共感できまして、RubyForgeで似たようなものを探してみました。Railsプロジェクトの初期配置とかデプロイとかがそうですが、開発が止まっていたり、イマイチ求めているものと違ったりして、結局自分で作っちゃった方が早いや、という結論に至りました。
ぶっちゃけ、勢いで作ったのでアラアラですが、せっかく作ったんだから公開しようと思った次第です。
※何を考えていたか最近興味を持っている事 とかRailsプロジェクトの初期配置とかデプロイとか あたりを参照
※詳しくはこちら そんなに急いでどこへ行く
なお、rails-create-dbは、「DB作成はRails 1.2以降、「rake db:create:all」で同じ事ができる」とmasuidriveさんから教えてもらいました。
Rocket-starterの対象としている環境
現状としてはMaxOSX 10.5かLinux系やBSD系です。
svnやgitをコマンドラインから使える必要があります。(逆に、これがないとこのgemはあまり便利ではないと思います)
また、現状、フォルダの区切りをスラッシュとしてハードコードしています。(これは直そうと思えば直せる)
Rocket-starterの使い方
一応RubyForge上にプロジェクトのサイトも作ったんだけど、かなりいいかげんなので、こちらちゃんとしたものを書いておきます。
1.gemをインストールします
これは簡単ですね。
gem install rocketstarter
2.設定ファイルのパスを環境変数にセット
設定ファイル自体はひな形を作ってくれる機能があるので、設定ファイルを保存するパスのみ指定しておく必要があります。
export ROCKET_STARTER_CONF=~/.rocket_starter
とかでいいと思います。
3.設定ファイルのひな形を作ります
rocketstarterに設定ファイルのひな形を吐くようにオプションを付けます。
rocketstarter --init
4.設定ファイルをエディタなどで編集します
vi ~/.rocket_starter
など。
なお、詳しい意味は
--conf=/path/to/conffile
設定ファイルの位置を指定します
--scmtype=[svn|git]
svnかgitかを指定します
--scmuri=URI
svnのリポジトリURIを指定します。ログインが必要であれば頭に"username@"を付けます
--scmpassword=PASSWORD
svnのリポジトリアクセス用のパスワードを指定します
--database=name
railsコマンドへ渡すためのdatabaseパラメータ(mysqlとかsqlite3とか)です
--ignoredatabase
database.ymlをignoreに指定するかどうか。これをセットすればdatabase.yml.originなどと名前を変えてからignoreに指定します。デフォルトはオフです。
--verbose
動作内容の詳細を表示します。デフォルトはオフです。
--sudo
実行にsudoなどが必要な環境の場合、このオプションを指定すれば、各コマンドの頭にsudoを付けます。デフォルトはオフです。
--log
このオプションを指定すれば、verboseに指定したものと同様の出力を--logfileで指定したパスのファイルに書き出します。デフォルトはオフです。
--logfile=/path/to/logfile
ログファイルへのパスです。
--skip-netbeans
このオプションを指定すれば、NetBeansIDEのプロジェクト情報管理用ディレクトリであるnetbeansディレクトリをignoreに指定します。デフォルトはオフ(netbeansディレクトリをignoreに指定する)です。
--listpath=/path/to/listfile
このパスに指定されたファイルの中に、1行につき1プラグインのURLとして、プラグインのリストを作っておけば、rocketstarter実行時の最後にまとめてインストールしてくれます。
--skip-plugins
このオプションを指定すれば、プラグインをインストールしません。デフォルトはオフ(プラグインをインストールする)です。
--rapt
このオプションを指定すれば、プラグインのインストール時にRaPTを使います。もし指定されなければ、script/plugin install を使います。デフォルトはオフ(script/pluginを使う)です。
--externals
このオプションを指定すれば、プラグインのインストール時に-xオプションを付けます。RaPTを使う場合はこのオプションを使わない方が良いでしょう。デフォルトはオフ(-xを付けない)です。
--emulate
デバック/テスト用として、各コマンドを実行しないエミュレーションモードです。デフォルトはオフです。
5.設定ファイルやパラメータのチェック
rocketstarter --check
で現在の設定値をチェックできます。
設定ファイルで指定した値を、コマンドラインのオプションで上書きできているかもチェックできます。
rocketstarter --check --listpath=/path/to/another
など。
6.いよいよ実行
各設定値は既に設定ファイルに書かれてあるはずなので、ここで指定すべきはリポジトリURIやパスワード程度でしょう。
rocketstart project-name --scmuri=svn://example.com/svn/path/to/your/repos --scmpassword=yourpass
エラーが無ければ作られているはずです。
バグ、要望などはフォーラム(英語)またはフォーラム(日本語)またはRubyForgeのプロジェクトページへどうぞ。
0 件のコメント:
コメントを投稿