Compare commits

...

2 Commits

Author SHA1 Message Date
eaed038a53 fix: Change installation task for CoreOS 2025-04-15 17:03:53 +02:00
94dcd1374e feat: Add compatibility with CoreOS 2025-03-30 06:22:54 +02:00
6 changed files with 37 additions and 74 deletions

View File

@@ -1,24 +0,0 @@
#!/usr/bin/env bash
# Lancer une pipeline
request=$(curl --silent --request POST --header "Authorization: Bearer ${DRONE_TOKEN}" ${DRONE_BASE_URL}/api/repos/${DRONE_REPOSITORY_PATH}/builds${DRONE_URL_PARAM} | jq .number)
# Attendre que la pipeline ne soit plus en exécution
while true; do
# Récupérer l'état de la pipeline
status=$(curl --silent --request GET --header "Authorization: Bearer ${DRONE_TOKEN}" ${DRONE_BASE_URL}/api/repos/${DRONE_REPOSITORY_PATH}/builds/$request | jq .status)
case "${status}" in
"\"pending\"" | "\"running\"")
sleep 5s
;;
"\"success\"")
echo "${DRONE_REPOSITORY_PATH}: ${status}"
exit 0
;;
*)
echo "${DRONE_REPOSITORY_PATH}: ${status}"
exit 1
;;
esac
done

View File

@@ -1,7 +1,14 @@
--- ---
# handlers file for drone_runner_exec # handlers file for drone_runner_exec
- name: Redémarrer drone-runner-exec.service - name: Apply installation
ansible.builtin.command:
argv:
- /usr/bin/rpm-ostree
- apply-live
become: true
- name: Restart drone-runner-exec.service
ansible.builtin.systemd: ansible.builtin.systemd:
enabled: true enabled: true
daemon_reload: true daemon_reload: true

View File

@@ -1,7 +1,7 @@
galaxy_info: galaxy_info:
namespace: ykn namespace: ykn
author: pulsar89.5 author: pulsar89.5
description: Rôle de déploiement d'un runner-exec drone.io description: Deploy and configure borgmatic runner-exec for drone.io
license: GPL-3.0-or-later license: GPL-3.0-or-later

View File

@@ -1,7 +1,7 @@
--- ---
# tasks file for drone_runner_exec # tasks file for drone_runner_exec
- name: Créer le dossier de configuration - name: Create configuration path
ansible.builtin.file: ansible.builtin.file:
state: directory state: directory
path: "{{ drone_runner_exec_config_base_path }}" path: "{{ drone_runner_exec_config_base_path }}"
@@ -10,7 +10,7 @@
mode: u=rwX,g=rX,o=rX mode: u=rwX,g=rX,o=rX
become: true become: true
- name: Créer le dossier de journalisation - name: Create log path
ansible.builtin.file: ansible.builtin.file:
state: directory state: directory
path: /var/log/drone-runner-exec path: /var/log/drone-runner-exec
@@ -19,7 +19,7 @@
mode: u=rwX,g=rX,o=rX mode: u=rwX,g=rX,o=rX
become: true become: true
- name: Configurer le runner - name: Deploy configuration
ansible.builtin.template: ansible.builtin.template:
src: config.j2 src: config.j2
dest: "{{ drone_runner_exec_config_base_path }}/config" dest: "{{ drone_runner_exec_config_base_path }}/config"
@@ -27,28 +27,28 @@
group: "{{ drone_runner_exec_user }}" group: "{{ drone_runner_exec_user }}"
mode: u=rwX,g=rX,o=rX mode: u=rwX,g=rX,o=rX
become: true become: true
notify: Redémarrer drone-runner-exec.service notify: Restart drone-runner-exec.service
- name: Récupérer les faits sur les services - name: Get service facts
ansible.builtin.service_facts: ansible.builtin.service_facts:
- name: Installer drone-runner.service - name: Install runner service
ansible.builtin.command: ansible.builtin.command:
cmd: >- cmd: >-
/opt/drone-runner-exec/drone-runner-exec service install /usr/local/bin/drone-runner-exec service install
--config="{{ drone_runner_exec_config_base_path }}/config" --config="{{ drone_runner_exec_config_base_path }}/config"
when: "'drone-runner-exec.service' not in ansible_facts.services" when: "'drone-runner-exec.service' not in ansible_facts.services"
become: true become: true
notify: Redémarrer drone-runner-exec.service notify: Restart drone-runner-exec.service
- name: Créer le dossier de surcharge du service - name: Create systemd override directory
ansible.builtin.file: ansible.builtin.file:
state: directory state: directory
path: /etc/systemd/system/drone-runner-exec.service.d path: /etc/systemd/system/drone-runner-exec.service.d
mode: u=rwX,g=rX,o=rX mode: u=rwX,g=rX,o=rX
become: true become: true
- name: Définir l'utilisateur du service - name: Deploy systemd override configuration
ansible.builtin.template: ansible.builtin.template:
src: override.conf.j2 src: override.conf.j2
dest: /etc/systemd/system/drone-runner-exec.service.d/override.conf dest: /etc/systemd/system/drone-runner-exec.service.d/override.conf
@@ -56,14 +56,4 @@
group: root group: root
mode: u=rwX,g=rX,o=rX mode: u=rwX,g=rX,o=rX
become: true become: true
notify: Redémarrer drone-runner-exec.service notify: Restart drone-runner-exec.service
- name: Déployer le script permettant d'exécuter un pipeline depuis une autre
ansible.builtin.copy:
src: drone-downstream.bash
dest: /opt/drone-runner-exec/drone-downstream.bash
owner: root
group: root
mode: u=rwx,g=rx,o=rx
become: true
diff: false

View File

@@ -1,29 +1,19 @@
--- ---
# tasks file for drone_runner_exec # tasks file for ansible
- name: Installer les prérequis - name: Install prerequisites
ansible.builtin.package: ansible.builtin.apt:
name: "{{ item }}" name: "{{ drone_runner_exec_prerequisites }}"
become: true
loop: "{{ drone_runner_exec_prerequisites }}"
- name: Créer le dossier dédié
ansible.builtin.file:
path: /opt/drone-runner-exec
state: directory
owner: root
group: root
mode: u=rwX,g=rX,o=rX
become: true become: true
- name: Récupérer le contenu du fichier de version - name: Get version file
ansible.builtin.uri: ansible.builtin.uri:
url: "{{ drone_runner_exec_url }}" url: "{{ drone_runner_exec_url }}"
return_content: true return_content: true
follow_redirects: all follow_redirects: all
register: releases register: releases
- name: Extraire l'URL du paquet - name: Extract URL
ansible.builtin.set_fact: ansible.builtin.set_fact:
browser_download_url: > browser_download_url: >
{{ {{
@@ -33,14 +23,14 @@
map(attribute='browser_download_url') map(attribute='browser_download_url')
}} }}
- name: Extraire le runner - name: Install runner
ansible.builtin.unarchive: ansible.builtin.unarchive:
src: "{{ browser_download_url | first }}" src: "{{ browser_download_url | first }}"
dest: /opt/drone-runner-exec dest: /usr/local/bin/
remote_src: true remote_src: true
list_files: true list_files: true
owner: root owner: "{{ drone_runner_exec_user }}"
group: root group: "{{ drone_runner_exec_group }}"
mode: u=rwX,g=rX,o=rX mode: u=rwX,g=rX,o=rX
become: true become: true
notify: Redémarrer drone-runner-exec.service notify: Restart drone-runner-exec.service

View File

@@ -1,10 +1,10 @@
--- ---
# tasks file for drone_runner_exec # tasks file for drone_runner_exec
- name: Importer les tâches d'installation - name: Import installation tasks
tags: installation ansible.builtin.import_tasks:
ansible.builtin.import_tasks: installation.yml file: installation.yml
- name: Importer les tâches de configuration - name: Import configuration tasks
tags: configuration ansible.builtin.import_tasks:
ansible.builtin.import_tasks: configuration.yml file: configuration.yml