66 lines
1.8 KiB
YAML
66 lines
1.8 KiB
YAML
---
|
|
- name: Installer et configurer Portainer
|
|
hosts: servers
|
|
become: true
|
|
gather_facts: true
|
|
|
|
vars:
|
|
git_repo: "https://gite.slm-lab.net/Chabdeltsang/Neah-Enkun.git"
|
|
git_dest: "/opt/Neah-Enkun"
|
|
git_branch: "master"
|
|
portainer_password: "@wp@36#@%yXo2@y78&$mXeN#6E@W2r9d"
|
|
portainer_service_name: "portainer"
|
|
portainer_password_file: "portainer_password"
|
|
|
|
pre_tasks:
|
|
- name: Cloner le dépôt Git
|
|
git:
|
|
repo: "{{ git_repo }}"
|
|
dest: "{{ git_dest }}"
|
|
version: "{{ git_branch }}"
|
|
update: true
|
|
force: true
|
|
register: git_status
|
|
until: git_status is success
|
|
retries: 3
|
|
delay: 5
|
|
|
|
tasks:
|
|
- name: Vérifier si le fichier de mot de passe existe déjà
|
|
stat:
|
|
path: "{{ git_dest }}/{{ portainer_password_file }}"
|
|
register: password_file
|
|
changed_when: false
|
|
|
|
- name: Écrire le mot de passe Portainer dans un fichier temporaire
|
|
copy:
|
|
content: "{{ portainer_password }}"
|
|
dest: "{{ git_dest }}/{{ portainer_password_file }}"
|
|
mode: "0600"
|
|
force: true
|
|
register: write_password
|
|
until: write_password is success
|
|
retries: 3
|
|
delay: 5
|
|
when: not password_file.stat.exists
|
|
|
|
- name: Lancer le service Portainer
|
|
command: "docker compose up -d --build --remove-orphans {{ portainer_service_name }}"
|
|
args:
|
|
chdir: "{{ git_dest }}"
|
|
register: portainer_launch
|
|
until: portainer_launch is success
|
|
retries: 3
|
|
delay: 5
|
|
notify: Nettoyer les fichiers temporaires
|
|
|
|
handlers:
|
|
- name: Nettoyer les fichiers temporaires
|
|
file:
|
|
path: "{{ git_dest }}/{{ portainer_password_file }}"
|
|
state: absent
|
|
register: cleanup
|
|
until: cleanup is success
|
|
retries: 3
|
|
delay: 5
|