48 lines
2 KiB
YAML
48 lines
2 KiB
YAML
---
|
|
- hosts: test-script
|
|
become: true
|
|
tasks:
|
|
# Installer Git si nécessaire
|
|
- name: Installer Git
|
|
ansible.builtin.package:
|
|
name: git
|
|
state: present
|
|
|
|
# Cloner le dépôt Git
|
|
- name: Cloner le dépôt Git
|
|
ansible.builtin.git:
|
|
repo: 'https://laforgedeflo.myflocanhostme.fr/florent/Semaphore.git'
|
|
dest: /root/semaphore-repo
|
|
version: main
|
|
|
|
# Copier le script manage_firewall.sh dans le répertoire root
|
|
- name: Copier le script manage_firewall.sh dans le répertoire root
|
|
ansible.builtin.copy:
|
|
src: /root/semaphore-repo/manage_firewall.sh # Depuis la machine distante
|
|
dest: /root/manage_firewall.sh # Vers le répertoire root de la machine distante
|
|
remote_src: yes # Indique que le fichier se trouve déjà sur la machine distante
|
|
|
|
# Copier le script install_manage_firewall.sh dans le répertoire root
|
|
- name: Copier le script install_manage_firewall.sh dans le répertoire root
|
|
ansible.builtin.copy:
|
|
src: /root/semaphore-repo/install_manage_firewall.sh # Depuis la machine distante
|
|
dest: /root/install_manage_firewall.sh # Vers le répertoire root de la machine distante
|
|
remote_src: yes # Indique que le fichier se trouve déjà sur la machine distante
|
|
|
|
# Rendre le script manage_firewall.sh exécutable
|
|
- name: Rendre le script manage_firewall.sh exécutable
|
|
ansible.builtin.command:
|
|
cmd: chmod +x /root/manage_firewall.sh
|
|
|
|
# Rendre le script install_manage_firewall.sh exécutable
|
|
- name: Rendre le script install_manage_firewall.sh exécutable
|
|
ansible.builtin.command:
|
|
cmd: chmod +x /root/install_manage_firewall.sh
|
|
|
|
# Exécuter le script install_manage_firewall.sh
|
|
- name: Exécuter le script install_manage_firewall.sh
|
|
ansible.builtin.shell: |
|
|
/bin/bash /root/install_manage_firewall.sh
|
|
args:
|
|
creates: /path/to/expected/output/or/file # Vérifie si le script a déjà été exécuté
|