geerlingguy.packer-debian

Rôle Ansible : Configuration Packer Debian/Ubuntu pour Vagrant VirtualBox

CI

Ce rôle configure Debian/Ubuntu (installation minimale ou complète) en préparation pour être empaqueté dans un fichier .box pour le déploiement avec Vagrant/VirtualBox ou Vagrant/Vmware_desktop en utilisant Packer.

Exigences

Avant d'exécuter ce rôle via Packer, vous devez vous assurer qu'Ansible est installé via un provisionneur de shell, et que la configuration préliminaire de la VM (comme l'ajout d'un utilisateur vagrant au groupe approprié et au fichier sudoers) est terminée, généralement en utilisant un fichier d'installation Kickstart (par exemple, ks.cfg) ou préconfiguration avec Packer. Un exemple de tableau de provisionneurs pour votre modèle .json Packer ressemble à ceci :

"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",
    ]
  }
],

Les fichiers doivent contenir, au minimum :

scripts/ansible.sh :

Un exemple pour Ubuntu 16.04

#!/bin/bash -eux
# Installer le dépôt Ansible et Ansible.
apt -y install software-properties-common
apt-add-repository ppa:ansible/ansible
apt-get update
apt-get install ansible

Un exemple pour Debian 8.8

#!/bin/bash -eux
# Installer le dépôt Ansible et 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

Vous pourriez également vouloir ajouter un autre provisionneur de shell pour exécuter un nettoyage, en effaçant l'espace libre avec dd, mais cela n'est pas obligatoire (cela permettra juste d'économiser un peu d'espace disque dans le fichier .box produit par Packer).

Si vous souhaitez ajouter des rôles supplémentaires, assurez-vous de les ajouter au tableau role_paths dans le fichier modèle .json, puis vous pourrez les inclure dans main.yml comme vous le feriez normalement. La configuration Ansible sera exécutée via une connexion locale depuis l'environnement Linux, donc tous les fichiers pertinents doivent être copiés dans la VM ; la configuration pour cela se trouve dans le fichier modèle .json. En savoir plus : Provisionneur Ansible Local.

Variables de Rôle

Les variables disponibles sont listées ci-dessous, avec leurs valeurs par défaut (voir defaults/main.yml) :

vmware_install_open_vm_tools: false

(uniquement pour VMware) En utilisant la variable vmware_install_open_vm_tools, vous pouvez sélectionner le type de composants d'intégration qui seront installés dans la boîte VMware. La valeur par défaut (false) installe VMware Tools, et non open-vm-tools.

En savoir plus :

Dépendances

Aucune.

Exemple de Playbook

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

Licence

MIT / BSD

Informations sur l'Auteur

Ce rôle a été créé en 2014 par Jeff Geerling, auteur de Ansible for DevOps.

À propos du projet

Debian/Ubuntu configuration for Packer.

Installer
ansible-galaxy install geerlingguy.packer-debian
Licence
mit
Téléchargements
23.2k
Propriétaire
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns