読者です 読者をやめる 読者になる 読者になる

Dog Driven Development

プログラミング関連で試行したことや、勉強会参加の記録を残していきます。

VagrantとAnsibleを使ってpaizaの実行環境を構築できるようにしてみた

本題の前に

先日、このツイートを何気なくRTしたのですが、なんとAmazonギフト券が当たってしまいました。
ありがとうございました!!

数年前にもVPSを契約してクリスマスケーキを当てたりしているので、こういうものに縁があるのかもしれないですね。

本題

paizaというプログラムを書いて転職活動を行うサービスがあるのですが、
転職に直接関係ないイベントも定期的にやっていたりします。

GW中の暇つぶしにこれをやろうと思っていたのですが、今ある環境とpaiza側の実行環境で言語のバージョン差異があったので、 別途VMを立ててpaiza側の実行環境を可能な限り再現してみました。

Ansibleの学習も含めて自動化してみたので公開してみます。

github.com

README.mdに書いていますが、Vritual BoxとVagrant 1.5以上をインストールしておく必要があります。

やってること

vagrant upすると、Vagrant CloudからBoxを取得してVMを立ち上げてくれます。
立ち上げたVMにAnsibleをインストールして、リポジトリにコミットしておいたplaybookを実行するようになっています。
ちなみに、今のところplaybookではnode.jsとRubyのインストールしかやっていません。

また、playbook実行前にAnsible GalaxyからRoleを取得しています。
今回は、node.jsインストールのRoleだけ簡単に自作して、RubyのRoleはAnsible Galaxyにあったものを使っています。

Ansible Galaxyに一通り言語インストール用のRoleがあるようなので、多くの言語に対応するのはそこまで時間がかかりそうにないです。
便利な時代ですね。

Vagrantを使って構築すること前提でplaybookを書いていますが、少し書き換えればそれ以外の環境にも利用できると思います。
※node.jsのRoleだけとりあえず動く程度の出来なので怪しい...

そのうち、JavaPHPにも対応させる予定です。