開発環境をごにょごにょしていて今更ながらVagrantを使うことにしたのですが、PackerでVagrant Boxを作成する手順について最近の事例があまり見つけられなかったので覚書として書いてみました。
環境
Windows 7 Professional
Vagrant 1.7.4
Packer 0.8.6
Packerのインストール
Downloads - Packer
http://www.packer.io/downloads.html
Windowsの64-bitをクリック(バージョンは0.8.6)
packer_0.8.6_windows_amd64.zip
ダウンロードした packer_0.8.6_windows_amd64.zip を適当なフォルダに解凍。
フォルダを環境変数 PATH に追加します。
Windows 7で、Administratorとして実行した場合の設定方法です。
- コントロールパネル→システムとセキュリティ→システム→システムの詳細設定
- 「環境変数」ボタンをクリック
ユーザー環境変数のところで「PATH」がある場合はその末尾に;とともに追加。
ない場合は新規で登録
変数名 PATH
変数値 C:\packer_0.8.6_windows_amd64
で登録
コマンドプロンプトからバージョンが確認できればインストールは完了。
>packer --version
0.8.6
Packerのテンプレートを用意する
Packerのテンプレートは世の中に色々転がっていますので、
検索するなどしてテンプレートを取得します。
今回は、CentOS 5.11-x86_64 の環境を構築する必要があったので、
https://github.com/kaorimatz/packer-templates
からテンプレートをcloneさせていただきます。
Gitが入っていない場合は、Git for Windows(msysgit) をインストールしてください。
https://git-for-windows.github.io/
インストール中に聞かれる「Adjusting your PATH emvironment」は「Run Git from the Windows Command Prompt」を選ぶと環境変数PATHにGitを追加してくれます。
コマンドプロンプトで希望のディレクトリに移動しcloneします。
ここでは、C:に移動して、その直下にcloneしました。
>cd C:\
>git clone git://github.com/kaorimatz/packer-templates
Box作成の準備
cloneしたファイルを少々変更。
配布されているテンプレートでは言語設定やキーボード設定などがUSなので以下のファイルを変更。
C:\packer-templates\http\centos-5.11\anaconda-ks.cfg
lang ja_JP.UTF-8
keyboard jp106
timezone Asia/Tokyo
編集後、保存する際の改行コードに注意する必要があるかも。
当初CR+LFで保存していたら、Boxの作成に失敗する現象が発生。
LFで保存すると成功しました。
作成するBoxのメモリやディスク容量などは以下のファイルで変更します。
C:\packer-templates\centos-5.11-x86_64.json
変更する場所はそんなにないと思います。
Boxを作成
ではBoxを作成します。
>cd C:\packer-templates
>packer build centos-5.11-x86_64.json
作成に要する時間は、当方の環境で20分ほどでした。