マニュアル: Packer

投稿日:

流れ

  1. テンプレートファイル(JSON)を作成する
    • Builder, Provisioner, Post-Processorなどを定義していく。
  2. 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接続ユーザ
  • オプション項目
    • shutdown_command: シャットダウンのコマンド
      • デフォルトでは何もせずに電源オフするみたいですね。

Post-Processors

Post-Processors - Templates - Packer by HashiCorp

{
  "post-processors": [
  ]
}

Compress

単に作成したものを圧縮するだけの模様。

Compress - Post-Processors - Packer by HashiCorp

  • 必須項目
    • type: compress
  • オプション項目
    • output: 出力するファイルパス