rubyforgeがとても便利
ruby-tumblrで初めてrubyforgeを使ってみたわけですが、そのあまりの便利さに吃驚ですよ。今更ですか?ひょっとして、もう皆さん当然使っているわけなんですか?まぁ私は流行は遅れて乗るタイプだから、今更かも知れないrubyforgeの便利さと使い方をまとめておこうと思います。書いておかないと忘れちゃうしね。
なお、今回私がrubyforgeを使うにあたって参考にしたのは以下の記事です。
これは非常によくまとまっていますので、読めば大抵のことはうまく行きます。よって私が書くべきことはほとんどありませんから、ポイントと諸注意だけをまとめておきます。
rubyforgeに登録したらまずやること
rubyforgeへの登録方法は上記記事を参考にして下さい。登録が完了したら、まずやる事が二つあります。
- プロジェクトの申請
- sshのパブリックキーのアップロード
プロジェクトの申請から承認までは半日くらいかかりました。申請時には英語で説明を書かなきゃいけないわけですが、短いのを適当に書くだけなので大丈夫です。深刻に考えないで一行だけ書いておきましょう。プロジェクトが却下されることがあるのかはよく分からないのですが、まぁまず無さそうな雰囲気なので単語をそれっぽく適当に並べるだけでもなんとかなるんじゃないかと思います。
また、忘れてならないのはsshのパブリックキーをさっさとアップロードしておくことです。画面右上の My Account をクリックすると、「マイページ」なるところにジャンプしますから、その下方 Shell Account Information の [Edit Keys] をおもむろにクリックして下さい。ここにパブリックキーをコピーしておきましょう(コピーする時に変な改行とかいれちゃダメですよ)。処理に多少時間がかかるみたいだから、とっととこの作業は完了させておくべきです。
なにはともあれnewgem
では次にnewgemです、newgemは必須と言って過言ではないので是非使いましょう。名前だけ見るとgemを作ってくれるだけのように思えるかも知れませんが、これを入れると自動的にrubyforgeが便利に使える環境が整うため、gem作成以外にも大活躍なのです。
なお、newgemはコードを書く前に使っておきましょう。私は書いた後に存在を知ったのでとても苦労しました。私同様に後から知ってしまったかわいそうな人は、仕方ないので一度ダミーをnewgemしてから、コピーと手修正で環境を整えるしかないと思います。
newgemの使い方は最初に挙げた記事を参照して下さい。使い方はとても簡単ですが、生成されたひな形を修正するのはそれなりに面倒です。試行錯誤しながらやってみればよろしいのではないでしょうか。
rubyforgeコマンドを忘れないで!
newgemを入れるとrubyforgeライブラリもついてきます。これを使うための設定ファイルを用意しなければならないので、これを忘れないように。
特に最後の rubyforge config は忘れやすいので注意しておいて下さい(これをやっておかないとリリース時に project id がないからダメというエラーが出ます)。ただしこれはプロジェクトが承認されてからでないと意味がありません。
リリースまでの一連の流れ
eto.com/d:RubyGemsパッケージを作るに必要なことは全て書いてあります。先にこれを読み込んで全体像を理解しておくことをオススメします。注意という程ではありませんが、rake release する時には必ず VERSION を指定しなければなりません。
ウェブサイトの構築
rake website すると、非常にそれっぽいのがアップロードされますので、わざわざ自分で文章を書いたりデザインしたりする必要はほとんどありません。ただし内容を変えたい場合には website/index.txt を編集します(website/index.txt からフィルタ scripts/txt2html を通して website/index.html が生成されます)。このファイルは textile 記法ですので、慣れていない方はまずもって勉強しておいて下さい。まぁtextileははてな記法と違って非常に簡単ですから、知らなくてもなんとなく書くだけうまくいくと思います。
まぁ英語で書くわけですが、間違ってたら誰か指摘してくれるんじゃないのかなぁ、なんて期待しながら適当にでっちあげておけば良いのではないでしょうか。
感想
そんなわけですから、gemの作成、リリース、ウェブサイトの構築まで全てが自動化されています。これならかなり気軽に使えるのではないでしょうか。特に、ライブラリを作った上にウェブサイトの面倒まで見てらんない! という方は、是非とも website/index.txt で楽しちゃいましょう。