variabili
This commit is contained in:
@@ -332,3 +332,56 @@ ansible-playbook playbook.yml --skip-tags "db"
|
|||||||
```
|
```
|
||||||
|
|
||||||
Questo comando salterà l'esecuzione di tutti i task contrassegnati con il tag db.
|
Questo comando salterà l'esecuzione di tutti i task contrassegnati con il tag db.
|
||||||
|
|
||||||
|
## Variabili
|
||||||
|
|
||||||
|
Le variabili sono utilizzate per memorizzare valori, seguendo la sintassi `key: value`.
|
||||||
|
|
||||||
|
Per fare riferimento a una variabile in Ansible, si utilizza la sintassi `Jinja2`, racchiudendo il nome della variabile tra le parentesi graffe doppie `{{ }}`. Ad esempio, se si definisce una variabile come `config_path: /opt/my_app/config`, il riferimento a questa variabile sarà `{{ config_path }}`.
|
||||||
|
|
||||||
|
Le variabili possono essere utilizzate in diversi contesti:
|
||||||
|
|
||||||
|
- Inventory
|
||||||
|
- Playbook: variabili definite direttamente nel playbook utilizzando la parola chiave `vars`
|
||||||
|
- Command line: variabili passate tramite la riga di comando utilizzando l'opzione `--extra-vars`
|
||||||
|
- File esterni: variabili definite in file esterni, richiamabili nel playbook con la parola chiave `vars_file`
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
- name: Example playbook with variables
|
||||||
|
hosts: webservers
|
||||||
|
vars:
|
||||||
|
app_name: my_app
|
||||||
|
config_file_path: /etc/{{ app_name }}/config.yml
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: Copy the configuration file
|
||||||
|
copy:
|
||||||
|
src: files/config.yml
|
||||||
|
dest: "{{ config_file_path }}"
|
||||||
|
owner: root
|
||||||
|
group: root
|
||||||
|
mode: '0644'
|
||||||
|
```
|
||||||
|
|
||||||
|
### Registrazione del valore di una variabile
|
||||||
|
|
||||||
|
È possibile registrare il risultato di un task all’interno di una variabile, in modo da riutilizzarlo nei task successivi. Per fare ciò, si utilizza la parola chiave `register` all’interno del task:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
---
|
||||||
|
- name: playbook with variables
|
||||||
|
hosts: db
|
||||||
|
|
||||||
|
tasks:
|
||||||
|
- name: get uptime
|
||||||
|
shell: uptime
|
||||||
|
register: uptime
|
||||||
|
|
||||||
|
- debug:
|
||||||
|
var: uptime.stdout
|
||||||
|
```
|
||||||
|
|
||||||
|
In questo esempio, il task *get uptime* esegue il comando uptime e registra il risultato nella variabile *uptime*. Successivamente, il valore di *uptime.stdout* viene visualizzato utilizzando il modulo debug.
|
||||||
|
|
||||||
|
E' possibile registrare il valore delle vartiabili. E' quindi possibile salvare il risultato di un task all'interno di una variabile e riutilizzarla in task successibvi. Nel task, per fare questo, si deve utilizzare la parola chiave `register`.
|
||||||
@@ -62,4 +62,3 @@ Ogni VM esegue un sistema operativo completo, con il proprio kernel, librerie e
|
|||||||
Richiedono un hypervisor per gestire l'allocazione delle risorse hardware.
|
Richiedono un hypervisor per gestire l'allocazione delle risorse hardware.
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user