Blog株式会社アキュトラスのメンバーが、技術情報などを楽しく書いています。Itamae技術はじめにお久しぶりです!vitaminです!最近、社内でインフラ系のお仕事をさせて頂くことが多くなってきました。アキュでは開発環境の構築をItamaeを利用して行えるようにしています。インフラ系の仕事の一つとして、そのレシピ作成や修正を行っています。利用して、itamaeのレシピ作成を効率的に行う方法を紹介したいと思います。サーバの設定を自動化するためのツールです。ChefやAnssibleと似たようなものですね。それらにも共通して言えるのですが、レシピの作成をする際に、実サーバや仮想サーバに対して実行しながら開発することは効率的ではないです。何度も実行するために、サーバの再インストールやインストールしたものをアンインストールするのは非常に手間となってしまいます。MySQLのインストールレシピを作成し、インストール後に設定でコケてしまったのでレシピを修正して、一旦アンインストールして、またインストールして、またコケて、、、というような繰り返しを行うことになってしまいます。最後に、インストール直後でも動くようにOSから入れなおしたり。destroyを実行するだけで、サーバの再構築を行うことができます。pluginを紹介したいと思います。機能を追加し、より便利にする事ができます。<プラグイン名>で行うことができます。ここからは、自分がいつも利用しているおすすめのpluginを紹介したいと思います。provisionの際に自動でitamaeの実行を行ってくれます。sshで実行することが出来ます。Windowsでvagrantを利用していたりすると、ホストOSにRubyが入っていなかったりして、実行出来ないことがあります。そのような場合にこのプラグインを入れておくと、Ruby要らずで簡単に実行してくれます。利用方法Vagrantfileに以下を記述します。(Itamaeレシピは作成済みとします。sahara概要saharaは、vagrantの状態を管理するためのプラグインです。現在の状態をcommitしたり、前の状態にrollbackしたりすることが出来ます。Railsの環境を構築するために、RubyとMySQLをインストールするレシピを構築するとします。Rubyのレシピは完成して、MySQLのレシピを作成するという時、テストのたびにもう一度Rubyのインストールも実行してしまうのは効率が悪いです。そこで、Rubyをインストールした状態をcommitすることで、Rubyインストール直後の状態からやり直すことが出来ます。利用方法まず、sandboxモードをonにします。onこの状態で、commitしたい状態までvagrantを設定し、その状態をcommitします。commitまたvagrantを設定した後に、元の状態に戻すにはrollbackを行います。同時に行ってくれるものです。機能としてはそれだけで単純なのですが、地味に便利で個人的には気に入っています。pristineを実行するだけです。パッケージのインストールを高速化するためのプラグインです。aptやyumのパッケージは、ダウンロードを行った後にインストールを行います。通常、何度も構築していると、毎回ダウンロードが行われてしまいます。このプラグインは、一度ダウンロードしたパッケージをホスト側にキャッシュすることで、ダウンロードの部分を高速化してくれます。具体的な速度の計算は、以下のサイトが参考になると思います。blog利用方法Vagrantfileに以下を記述するだけです。絞ってpluginを紹介しました。vagrant-pluginはうまく使うことで、作業効率を大きく上げることが出来ます。インストールを行うようなレシピは、待ち時間がどうしても長くなってしまうので、それを短縮すれば効率はぐっと良くなります。