公開されているboxを使うのは、ちょっと抵抗があるのでpackerを使ってvagrant boxを作りました。
何ができるのか
packerでいろいろなことができるようですが、使っているのは下記です。
- OSインストール用のISOファイルのダウンロード
- VirtualBoxのVM作成
- OSのインストール
- デフォルトユーザの作成
- vagrant boxの作成
packerにすることで半年に一度のubuntuアップグレードがバージョン番号を変更とISOイメージのチェックサムを変更+packer実行で完了します。
packerのソース
githubにubuntu 15.10のboxを作るソースをアップしています。
buildersでISOファイルの場所やインストールの操作を書きます。
post-processorsのtypeで作成するタイプを複数指定できます。
使っているのはvagrant boxとatlasの2つですが、AWSのAMIも作れるようです。
atlasとの連携
HashiCorpにatlasのアカウントを作るとローカルPCにVirtualBoxがなくてもOSイメージを作成することができます。
おおよそ下記の手順です。以前に見た時よりメニューはだいぶ変わっていますが…
- GitHubにアカウントを作りpacker用のリポジトリを作る
- atlasのvagrant enterpriseにboxを作る
- altasのpackerにconfigurationを作る
configurationにソースとなるGitHubのリポジトリ、ブランチ、ディレクトリ、ファイル名を指定、出力先となるvagrant enterpriseのboxを選択しておくと、GitHubのコミットをトリガにboxが作成されます。
packerで前提となるパッケージのインストールと設定まで行えばvagrantやAWSなどメジャーな環境のVMイメージを一気に作ることができるようです。