Junior
De que componentes e ficheiros consiste um papel em DevOps?
sobes.tech IA
Resposta da IA
O papel no DevOps, mais frequentemente implementado através do Ansible, consiste nos seguintes componentes e ficheiros principais:
tasks/: Diretório que contém as tarefas executadas pelo papel. O ficheiro principal émain.yml.// tasks/main.yml - name: Instalar nginx apt: name: nginx state: presenthandlers/: Diretório que contém os manipuladores de eventos. O ficheiro principal émain.yml. Os manipuladores são executados apenas quando há alterações nas tarefas que os notificam.// handlers/main.yml - name: reiniciar nginx service: name: nginx state: restarteddefaults/: Diretório que contém os valores padrão das variáveis do papel. O ficheiro principal émain.yml. Estas variáveis têm a prioridade mais baixa.// defaults/main.yml nginx_port: 80vars/: Diretório que contém variáveis específicas do papel. O ficheiro principal émain.yml. Estas variáveis têm uma prioridade mais alta do que as dedefaults/.// vars/main.yml nginx_user: www-datafiles/: Diretório que contém ficheiros que serão copiados para as máquinas destino sem alterações.// tasks/main.yml - name: Copiar ficheiro estático copy: src: my_static_file.conf dest: /etc/nginx/conf.d/my_static_file.conftemplates/: Diretório que contém ficheiros de modelos (normalmente em formato Jinja2), que serão copiados para as máquinas destino após processamento (substituição de variáveis).// templates/nginx.conf.j2 server { listen {{ nginx_port }}; ... }// tasks/main.yml - name: Configurar nginx template: src: nginx.conf.j2 dest: /etc/nginx/nginx.conf notify: restart nginxmeta/: Diretório que contém metadados do papel, como dependências. O ficheiro principal émain.yml.// meta/main.yml dependencies: - role: another_role variable: valuelibrary/: (Opcional) Diretório para módulos personalizados do Ansible.module_utils/: (Opcional) Diretório para utilitários personalizados usados nos módulos.lookup_plugins/,filter_plugins/, etc.: (Opcional) Diretórios para plugins personalizados de diferentes tipos.
A estrutura típica de um papel é assim:
my_role/
├── tasks/
│ └── main.yml
├── handlers/
│ └── main.yml
├── defaults/
│ └── main.yml
├── vars/
│ └── main.yml
├── files/
│ └── my_static_file.conf
├── templates/
│ └── nginx.conf.j2
└── meta/
└── main.yml
Estes componentes permitem organizar a automação de instalação, configuração e gestão de serviços e sistemas de forma estruturada e reutilizável.