geerlingguy.packer-debian

Ansible 角色:Vagrant VirtualBox 的 Packer Debian/Ubuntu 配置

CI

此角色配置 Debian/Ubuntu(无论是最小安装还是完整安装),以准备将其打包为 Vagrant/VirtualBox 或 Vagrant/Vmware_desktop 部署的 .box 文件,使用 Packer 工具。

需求

在通过 Packer 运行此角色之前,您需要确保通过 shell 提供者安装了 Ansible,并完成初步的虚拟机配置(例如,添加 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

您还可以添加另一个 shell 提供者来运行清理,使用 dd 清除空闲空间,但这不是必需的(这只是可以节省 Packer 生成的 .box 文件中的一些磁盘空间)。

如果您想添加其他角色,请确保将其添加到模板 .json 文件中的 role_paths 数组中,然后可以像往常一样在 main.yml 中包含它们。Ansible 配置将在 Linux 环境内通过本地连接运行,因此所有相关文件需要复制到虚拟机中;这部分的配置在模板 .json 文件中。阅读更多内容: Ansible 本地提供者

角色变量

可用的变量如下列出,并附有默认值(见 defaults/main.yml):

vmware_install_open_vm_tools: false

(仅限 VMware)使用 vmware_install_open_vm_tools 变量,您可以选择将安装何种集成功能组件到 VMware box 中。默认值 (false) 安装 VMware Tools,而不是 open-vm-tools

阅读更多:

依赖关系

无。

示例剧本

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

许可证

MIT / BSD

作者信息

该角色由 Jeff Geerling 于 2014 年创建,他是 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