You've already forked role_drone_cli
[INFO] Créer le dépôt
This commit is contained in:
28
tasks/configuration.yml
Normal file
28
tasks/configuration.yml
Normal file
@@ -0,0 +1,28 @@
|
||||
---
|
||||
# tasks file for drone_cli
|
||||
|
||||
- name: Récupérer les informations
|
||||
ansible.builtin.command:
|
||||
cmd: drone {{ item.type }} info {{ item.target }} {{ item.name }}
|
||||
environment:
|
||||
DRONE_SERVER: "{{ drone_cli_server_url }}"
|
||||
DRONE_TOKEN: "{{ drone_cli_server_token }}"
|
||||
register: info
|
||||
changed_when: info.rc != 0
|
||||
diff: false
|
||||
|
||||
- name: Déterminer qu'il faut mettre à jour
|
||||
ansible.builtin.set_fact:
|
||||
cmd_action: update
|
||||
when:
|
||||
- info.rc == 0
|
||||
- item.type in cmd_updatable
|
||||
|
||||
- name: Exécuter les commandes
|
||||
ansible.builtin.command:
|
||||
cmd: drone {{ item.type }} {{ cmd_action }} {{ item.target }} {{ item.name }} {{ item.data }}
|
||||
environment:
|
||||
DRONE_SERVER: "{{ drone_cli_server_url }}"
|
||||
DRONE_TOKEN: "{{ drone_cli_server_token }}"
|
||||
changed_when: info.rc != 0
|
||||
diff: false
|
32
tasks/installation.yml
Normal file
32
tasks/installation.yml
Normal file
@@ -0,0 +1,32 @@
|
||||
---
|
||||
# tasks file for drone_cli
|
||||
|
||||
- name: Récupérer le contenu du fichier de version
|
||||
ansible.builtin.uri:
|
||||
url: "{{ drone_cli_url }}"
|
||||
return_content: true
|
||||
follow_redirects: all
|
||||
register: releases
|
||||
|
||||
- name: Extraire l'URL du paquet
|
||||
ansible.builtin.set_fact:
|
||||
browser_download_url: >
|
||||
{{
|
||||
releases.json.assets |
|
||||
selectattr('browser_download_url', 'search', 'linux') |
|
||||
selectattr('browser_download_url', 'search', drone_cli_architecture) |
|
||||
map(attribute='browser_download_url')
|
||||
}}
|
||||
|
||||
- name: Extraire le runner
|
||||
ansible.builtin.unarchive:
|
||||
src: "{{ browser_download_url | first }}"
|
||||
dest: /opt/
|
||||
remote_src: true
|
||||
list_files: true
|
||||
mode: u=rwX,g=rX,o=rX
|
||||
become: true
|
||||
notify: Installer la commande
|
||||
|
||||
- name: Exécuter les handlers
|
||||
ansible.builtin.meta: flush_handlers
|
16
tasks/main.yml
Normal file
16
tasks/main.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
# tasks file for drone_cli
|
||||
|
||||
- name: Importer les tâches d'installation
|
||||
tags: installation
|
||||
ansible.builtin.import_tasks: installation.yml
|
||||
|
||||
- name: Inclure les tâches de configuration
|
||||
tags: configuration
|
||||
ansible.builtin.include_tasks: configuration.yml
|
||||
when:
|
||||
- drone_cli_server_url | length > 0
|
||||
- drone_cli_server_token | length > 0
|
||||
- drone_cli_commands | length > 0
|
||||
loop: "{{ drone_cli_commands }}"
|
||||
run_once: true
|
Reference in New Issue
Block a user