From 562522845a9ad39f2b8079d3ed320595645bda68 Mon Sep 17 00:00:00 2001 From: "alessandro.rabiti" Date: Sun, 17 Nov 2024 10:18:11 +0100 Subject: [PATCH] feat: aggiunta capitolo roles --- 10_roles/README.md | 18 ++++++++++++++++++ .../progetto_esempio/install/tasks/main.yaml | 6 ++++++ 10_roles/progetto_esempio/inventory | 2 ++ 10_roles/progetto_esempio/runner.yaml | 7 +++++++ .../progetto_esempio/update/tasks/main.yaml | 6 ++++++ 5 files changed, 39 insertions(+) create mode 100644 10_roles/README.md create mode 100644 10_roles/progetto_esempio/install/tasks/main.yaml create mode 100644 10_roles/progetto_esempio/inventory create mode 100644 10_roles/progetto_esempio/runner.yaml create mode 100644 10_roles/progetto_esempio/update/tasks/main.yaml diff --git a/10_roles/README.md b/10_roles/README.md new file mode 100644 index 0000000..5327ae6 --- /dev/null +++ b/10_roles/README.md @@ -0,0 +1,18 @@ +# Alcuni esempi pratici sull'utilizzo dei roles in Ansible + +I roles devono avere una struttura di directory ben precisa, dato un progetto "progetto_esempio" ed i roles "install, update", possiamo creare la struttura di directory con i seguenti comandi: + +``` +project=progetto_esempio role=install ; mkdir $project $project/$role $project/$role/tasks $project/$role/handlers $project/$role/templates $project/$role/files $project/$role/vars +project=progetto_esempio role=update ; mkdir $project $project/$role $project/$role/tasks $project/$role/handlers $project/$role/templates $project/$role/files $project/$role/vars +``` + +- per lanciare il playbook utilizziamo il seguente comando +``` +ansible-playbook -iinventory runner.yaml +``` + +- per lanciare solamente uno dei roles del playbook, utilizare il seguente comando: +``` +ansible-playbook -iinventory runner.yaml --tags install +``` diff --git a/10_roles/progetto_esempio/install/tasks/main.yaml b/10_roles/progetto_esempio/install/tasks/main.yaml new file mode 100644 index 0000000..2e78080 --- /dev/null +++ b/10_roles/progetto_esempio/install/tasks/main.yaml @@ -0,0 +1,6 @@ +--- + +- name: Installo il pachetto httpd + ansible.builtin.package: + name: httpd + state: present diff --git a/10_roles/progetto_esempio/inventory b/10_roles/progetto_esempio/inventory new file mode 100644 index 0000000..a33eecb --- /dev/null +++ b/10_roles/progetto_esempio/inventory @@ -0,0 +1,2 @@ +servertest1 +servertest2 diff --git a/10_roles/progetto_esempio/runner.yaml b/10_roles/progetto_esempio/runner.yaml new file mode 100644 index 0000000..7463c77 --- /dev/null +++ b/10_roles/progetto_esempio/runner.yaml @@ -0,0 +1,7 @@ +--- +- hosts: all + roles: + - role: install + tags: install + - role: update + tags: update diff --git a/10_roles/progetto_esempio/update/tasks/main.yaml b/10_roles/progetto_esempio/update/tasks/main.yaml new file mode 100644 index 0000000..5f9aff5 --- /dev/null +++ b/10_roles/progetto_esempio/update/tasks/main.yaml @@ -0,0 +1,6 @@ +--- + +- name: Aggiorno il pachetto httpd + ansible.builtin.package: + name: httpd + state: latest