coglinev3.ansible_container
Ansible Rolle: ansible_container
Diese Rolle wird mit Ansible-Bender verwendet, um Container zu erstellen mit:
- Ansible,
- OpenSSH und
- Systemd oder Init V.
Diese Container können wie virtuelle Maschinen verwendet werden, zum Beispiel um Ansible-Rollen mit GitHub-Aktionen zu testen.
Die unterstützten Linux-Distributionen für diese Rolle sind:
- Alpine Linux 3.12,
- Alpine Linux 3.13,
- Alpine Linux 3.14,
- Alpine Linux 3.15,
- Alpine Linux 3.16,
- Alpine Linux 3.17,
- Alpine Linux 3.18,
- Alpine Linux 3.19,
- Amazon Linux 2023,
- Debian 10 (Buster),
- Debian 11 (Bullseye),
- Debian 12 (Bookworm),
- Enterprise Linux 7,
- Enterprise Linux 8,
- Enterprise Linux 9,
- Fedora 34,
- Fedora 35,
- Fedora 36,
- Fedora 37,
- Fedora 38,
- Fedora 39,
- Ubuntu 18.04 LTS (Bionic Beaver),
- Ubuntu 20.04 LTS (Focal Fossa) und
- Ubuntu 22.04 LTS (Jammy Jellyfish).
Anforderungen
Wenn Sie diese Rolle verwenden möchten, um neue Container-Images zu erstellen, benötigen Sie ansible-bender. Sie können ansible-bender mit meiner Galaxy-Rolle coglinev3.ansible_bender installieren.
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten (siehe defaults/main.yml):
# ob sudo verwendet werden soll oder nicht
ansible_container_become: true
# Zustand für installierte Pakete: absent | present | latest
ansible_container_package_state: latest
# Anforderungen für Debian
ansible_container_requirements:
- libssl-dev
- libffi-dev
- openssh-server
- python3-apt
- python3-pip
- python3-setuptools
- python3-software-properties
- python3-wheel
- systemd
- sudo
# erzwingt eine neue Ansible-Konfigurationsdatei /etc/ansible/ansible.cfg
ansible_container_force_config: "nein"
# erzwingt eine neue Ansible-Inventardatei /etc/ansible/hosts
ansible_container_force_inventory: "nein"
# definiert einen Ansible-Benutzer und eine Gruppe
ansible_container_user: ansible
ansible_container_group: ansible
# einige Variablen für die Ansible-Konfigurationsdatei ansible.cfg
#
# erzwingt den Farbmodus, selbst wenn ohne TTY oder die Einstellung "nocolor" wahr ist
ansible_config_force_color: true
# steuert das Verhalten der Interpretererkennung:
ansible_config_interpreter_python: auto
Abhängigkeiten
Keine.
Beispiel-Playbooks
Playbook, um diese Rolle unabhängig auf einer virtuellen Maschine zu testen
---
# Datei: roles/ansible_container/tests/test.yml
- hosts: localhost
remote_user: root
roles:
- { role: coglinev3.ansible_container }
vars:
ansible_container_become: true
Playbook für ansible-bender, um ein CentOS 7-Image mit Ansible und Systemd zu erstellen
---
- name: Containerisierte Version von CentOS 7 mit Ansible
hosts: all
vars:
# spezielle Konfiguration für ansible-bender
ansible_bender:
base_image: centos:7
target_image:
# Befehl, der standardmäßig beim Aufrufen des Containers ausgeführt wird
cmd: /usr/sbin/init
name: centos:7-ansible
labels:
build-by: "Cogline.v3"
volumes:
- /sys/fs/cgroup
tasks:
- name: Rolle ansible_container einfügen
include_role:
name: ansible_container
vars:
ansible_container_become: false
Das neue Container-Image wird mit folgendem Befehl erstellt:
ansible-bender build ./playbook.yml
Version
Release: 1.17.0
Lizenz
BSD
Autor-Informationen
Copyright © 2024 Cogline.v3.
Über das Projekt
This role is used with Ansible-Bender to create Ansible Containers for CI/CD tests with Travis-CI.
Installieren
ansible-galaxy install coglinev3.ansible_container
Lizenz
bsd-3-clause
Downloads
6.5k
Besitzer