Capistranoを利用するファーストステップ

Capistrano(capistrano/capistrano)はRubyで作成されたシステムデプロイを自動化するためのライブラリで、Ruby on Railsに限らず広いシステム環境で利用されています。ただ、便利なCapistranoですが、以外と導入のイントロダクション的な資料が見つからず手探りになりがちな気がします。

オープンソースのライブラリを利用する場合には、やはりGitHubなどソースコードやそのWikiなどを読むのが基本ですが、そうはいっても便利な道具を利用するために深く理解しなければならないということも少し敷居の高い話です。手っ取り早く情報を知るために何か良い方法がないかと考えてしまうものです。

弊社では、参画する案件では基本的にCI環境(常時結合環境)を構築するようにしているのですが、CI環境が構築できるとリリースの手順も自動化したくなります。少し思い返してどのような資料で導入を行ったか振り返ってみたのですが、それはパーフェクトRuby (PERFECT SERIES 6)の14章を読んでつかみを得たように記憶しています。

パーフェクトRubyにはとても助けられていて、是非手元に置いておくべき書籍なのですが、周辺のライブラリについても一通り実行可能な状態で説明がされているので助かります。

(とくに、GemのバージョンによってCapistranoが動作しないということもあるため、バージョンが明示されていることはとてもありがたいことです。)

さて、そのパーフェクトRubyに限らず書籍全般にいえることですが、比較的内容が陳腐化する速度が速いです。たとえばCapistranoについても、現在のバージョンは 3.2 ですがパーフェクトRubyでは 2.12 と古いバージョンを利用しています。しかし、新しいバージョンでなければならないということはありません。外部からアタックされる訳でもなく、粛々とリリース作業を自動化するツールです。まずは、概念を理解するためにも書籍に書いている内容を理解できればバージョンアップはそれほど大変なことではないです。

実際にCapistranoに限らず支援系のツールやライブラリは、安定した環境でどのようなことができるかを概念レベルで理解すればバージョンアップはその延長線上にあることが多いためそれほど大変ではありません。また、バージョンアップの必然性についても検討する余地は十分あるでしょう。

ツールを使うことが目的ではなく、リリースを自動化することが目的なはずです!)

ということで、ふととっかかりにくい自動化作業をどのように始めたか振り返ってみましたが、愚直な方法で進めてきたようです。

パーフェクトRubyはおすすめですよ!