geerlingguy.packer-debian

Ansibleロール: Packer Debian/Ubuntu構成 for Vagrant VirtualBox

CI

このロールは、Debian/Ubuntu(最小限のインストールまたはフルインストールのいずれか)を構成し、Vagrant/VirtualBoxやVagrant/Vmware_desktopのデプロイメントで使用するための.boxファイルにパッケージ化する準備をします。これはPackerを使用して行います。

要件

このロールをPackerを介して実行する前に、シェルプロビジョナーを使ってAnsibleがインストールされていることを確認し、事前のVM構成(vagrantユーザーを適切なグループやsudoersファイルに追加するなど)が完了している必要があります。これには、一般的にKickstartインストールファイル(例: ks.cfg)やPackerを使ったプレシーディングを使用します。Packerの.jsonテンプレートに含めるべきプロビジョナーの例は、次のようになります:

"provisioners": [
  {
    "type": "shell",
    "execute_command": "echo 'vagrant' | {{.Vars}} sudo -S -E bash '{{.Path}}'",
    "script": "scripts/ansible.sh"
  },
  {
    "type": "ansible-local",
    "playbook_file": "ansible/main.yml",
    "role_paths": [
      "/Users/jgeerling/Dropbox/VMs/roles/geerlingguy.packer-debian"
    ]
  }
],

これらのファイルには、少なくとも次の内容が含まれている必要があります:

scripts/ansible.sh:

Ubuntu 16.04の例

#!/bin/bash -eux
# AnsibleリポジトリとAnsibleをインストールします。
apt -y install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible

Debian 8.8の例

#!/bin/bash -eux
# AnsibleリポジトリとAnsibleをインストールします。
apt -y install software-properties-common
echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu trusty main" | tee -a /etc/apt/sources.list
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367
apt -y update
apt -y install ansible

ansible/main.yml:

---
- hosts: all
  sudo: yes
  gather_facts: yes
  roles:
    - geerlingguy.packer-debian

クリーンアップを実行して、ddを使って空きスペースを消去するための別のシェルプロビジョナーを追加したい場合もありますが、これは必須ではありません(Packerで生成された.boxファイルのディスクスペースが少し節約されるだけです)。

追加のロールを追加したい場合は、それらをテンプレートの.jsonファイルのrole_paths配列に追加し、通常通りmain.ymlに含めることができます。Ansibleの構成はLinux環境内からローカル接続を介して実行されるので、関連ファイルはすべてVMにコピーする必要があります。この設定はテンプレートの.jsonファイルにあります。詳細については、Ansible Local Provisionerを参照してください。

ロール変数

使用可能な変数は以下にリストされており、デフォルト値も表示されています(defaults/main.ymlを参照)。

vmware_install_open_vm_tools: false

(VMware専用)vmware_install_open_vm_tools変数を使用することで、VMwareボックスにインストールする統合コンポーネントの種類を選択できます。デフォルトはfalseで、VMware Toolsがインストールされ、open-vm-toolsはインストールされません。

詳細を読む:

依存関係

なし。

サンプルプレイブック

---
- hosts: all
  roles:
    - geerlingguy.packer-debian

ライセンス

MIT / BSD

作者情報

このロールは2014年にJeff Geerlingによって作成され、Ansible for DevOpsの著者です。

プロジェクトについて

Debian/Ubuntu configuration for Packer.

インストール
ansible-galaxy install geerlingguy.packer-debian
ライセンス
mit
ダウンロード
23.2k
所有者
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns