2017-02-08 2 views
1

Unten ist meine Verzeichnisstruktur für ansibel genannt Rolle Webserveransible - die statische Skriptdatei in Rollen gehört

localhost Rollen # Baum

. 
├── readme.md 
├── site.yml 
└── webserver 
    ├── files 
    │   ├── createswap.sh 
    │   └── nginxkeyadd.sh 
    ├── handlers 
    │   └── main.yml 
    ├── tasks 
    │   └── main.yml 
    ├── templates 
    │   ├── helloworld.conf.j2 
    │   └── index.html.j2 
    └── vars 
     └── main.yml 

meine Aufgaben/main.yml sieht aus wie

- name: Create swap file 50MB 
    script: /etc/ansible/roles/webserver/files/createswap.sh 
- name: add GPG key for nginx 
    script: /etc/ansible/roles/webserver/files/nginxkeyadd.sh 
- name: Install nginx on target 
    apt: name={{ item }} state=latest 
    with_items: 
    - rsync 
    - git 
    - nginx 

in der Task/main.yml im Angabe absoluten Pfad zu lokalen Skriptdatei wie

script: /etc/ansible/roles/webserver/files/nginxkeyadd.sh und script: /etc/ansible/roles/webserver/files/createswap.sh. Die Skripte haben keine möglichen Variablen. ist es gute Praxis in ansible?

Antwort

1

ist es gute Praxis in ansible?

Nr Auszug aus den docs:

Jede Kopie, Skript, eine Vorlage oder umfassen Aufgaben (in der Rolle) kann Dateien in Rollen/x/{Dateien, Vorlagen, Aufgaben} Referenz/(dir ist abhängig von Aufgabe), ohne sie relativ zu Pfad oder absolut

auch anstelle von nativen ansible Module Shell-Skripte mit Hilfe eines Antipattern wird.

Verwandte Themen