流れ
- テンプレートファイル(JSON)を作成する
- Builder, Provisioner, Post-Processorなどを定義していく。
packer build
コマンドを実行
実行
ビルド: packer build JSONファイル
Commnicators
スクリプトを実行するなど、サーバに接続するために必要なもの。
Communicators - Templates - Packer by HashiCorp
設定項目
デフォルトはSSH接続。
- ssh_username: ユーザ名
- ssh_password: パスワード
書いてないけどたぶんsudoできるユーザが必要だと思います。
Builder
Builders - Templates - Packer by HashiCorp
{
"builders": [
]
}
VirtualBox OVF/OVA)
VirtualBox OVF/OVA - Builders - Packer by HashiCorp
VirtualBoxからエクスポートするときは、Virtualization Format 2.0にすること。
When exporting from VirtualBox make sure to choose OVF Version 2, since Version 1 is not compatible and will generate errors like this:
- 必須項目
- type:
virtualbox-ovf
- source_path: .ovaファイルのパスまたはURL
- ssh_username: SSH接続ユーザ
- type:
- オプション項目
- shutdown_command: シャットダウンのコマンド
- デフォルトでは何もせずに電源オフするみたいですね。
- shutdown_command: シャットダウンのコマンド
Post-Processors
Post-Processors - Templates - Packer by HashiCorp
{
"post-processors": [
]
}
Compress
単に作成したものを圧縮するだけの模様。
Compress - Post-Processors - Packer by HashiCorp
- 必須項目
- type:
compress
- type:
- オプション項目
- output: 出力するファイルパス