Stale to kazdy vidime jinak (resp. nevidim to jak vy).
project1.yml:
---
- hosts: project1-db
become: yes
become_method: sudo
roles:
- { role: "common", tags: "common" }
- { role: "postgresql", tags: "postgresql" }
- { role: "pgbouncer", tags: "pgbouncer" }
- hosts: project1-web
become: yes
become_method: sudo
roles:
- { role: "common", tags: "common" }
- { role: "tmpfiles", tags: "tmpfiles" }
- { role: "nfs-client", tags: "nfs-client" }
- { role: "createuser", tags: "createuser" }
- { role: "nginx", tags: "nginx" }
- { role: "nginx-vhost", tags: "nginx-vhost" }
- { role: "php", tags: "php" }
- { role: "redis", tags: "redis" }
- { role: "postgresql-client", tags: "postgresql-client" }
env/prod/group_vars/project1:
project_uid="1"
/env/prod/hosts:
[project1:children]
project1-db
project1-web
[project1-db]
fqdn1
[project1-web]
fqdn2
Tohle spusti playbook s rolema pro cely projekt (takze -db a -web):
ansible-playbook -i /env/prod/ project1.yml
Tohle spusti playbook s rolema, ale limituju to na web servery (takze jen -web)
ansible-playbook -i /env/prod/ -l project1-web project1.yml
Takze vytvarim ten prunik stroju, kde spustit. V tom to funguje jak pisete oba.
Pokud teda pustim:
ansible-playbook -i /env/prod/ -l project1-web project1.yml
Nacte to parametry z group_vars/project1 - proc? Protoze se to dostane az na uroven [project1:children] a z toho vezme ten group_vars/project1? Proc to pak nefunguje pro project2, kdyz by se to pak melo dostat na [project2:children] a z toho vzit group_vars/project2?