開発用VM+VM構築自動化=プログラム可能な開発環境?

vagrant+VirtualBoxでできそう。VMwareでも類似のツールはあるかも。思想信条だか宗教的なアレでOSS版がある方が好ましかったのでひとまずこれを調べてみる予定。

開発環境の構築は無人化すべきである

プログラム可能な素材 → 思い通りの物になる魔法の砂、ナノマシン
プログラム可能な開発環境 → 開発環境用VM+VM内の環境構築自動化

VM内に構築することで、まっさらな環境に必要なツールやデータだけの環境ができる。構築自体を自動化しておけば下記のような状況で便利。

  1. コードとして構築の手順を残せる
    1. 仮に開発用PCを物理的に壊してもリポジトリから構築手順を取り出せる
  2. ゴミデータを一気に掃除したい場合の再構築
  3. 複数人での開発など複数の環境構築
  4. 他の開発をする時に構築用のコードを使いまわして別環境を作れる

主な同期はgoldbook/jpshp2db · GitHubの開発の続きをやりたくなったので。下記のような作業は自動化したい

  1. Rubyの実行環境をインストール
  2. 必要なGemのインストール
  3. postgisのインストール
  4. shpデータのDBへのインポート
  5. ホスト側からターミナルへ接続できるよう設定
  6. 共有フォルダ内にソースを置いてホスト側から直接編集できるよう設定