Rôle de déploiement d'un runner-exec drone.io
Go to file
2023-05-24 14:39:26 +00:00
defaults [INFO] Création du rôle 2022-10-22 00:10:05 +02:00
files [INFO] Création du rôle 2022-10-22 00:10:05 +02:00
handlers [INFO] Création du rôle 2022-10-22 00:10:05 +02:00
meta [INFO] Création du rôle 2022-10-22 00:10:05 +02:00
tasks [INFO] Création du rôle 2022-10-22 00:10:05 +02:00
templates [INFO] Création du rôle 2022-10-22 00:10:05 +02:00
.gitignore Initial commit 2022-10-17 11:05:27 +00:00
LICENSE Initial commit 2022-10-17 11:05:27 +00:00
README.md [INFO] Création du rôle 2022-10-22 00:10:05 +02:00

role_drone_runner_exec

Rôle de déploiement d'un runner-exec drone.io.

Variables

drone_runner_exec_prerequisites

Liste des paquets pré-requis.

Valeur par défaut: ["curl", "jq"]

drone_runner_exec_url

URL pointant vers l'API de github.com fournissant le lien de téléchargement de l'archive.

Valeur par défaut: https://api.github.com/repos/drone-runners/drone-runner-exec/releases/latest

drone_runner_exec_architecture

Nécessaire pour télécharger la bonne archive depuis github.com.
Les architectures disponibles sont visibles dans la liste de release du dépôt.

Valeur par défaut: arm64

drone_runner_exec_rpc_proto

Protocole utilisé pour contacter le serveur drone.io.
Les valeurs peuvent être http ou https.

Valeur par défaut: aucune

drone_runner_exec_rpc_host

Adresse IP ou nom d'hôte suivi du numéro de port du serveur drone.io.

Valeur par défaut: aucune

drone_runner_exec_rpc_secret

Clé utilisée par le serveur drone.io.

Valeur par défaut: aucune

drone_runner_exec_log_file

Emplacement des journaux.

Valeur par défaut: /var/log/drone-runner-exec/log.txt

drone_runner_exec_log_file_max_size

Taille maximal en mégaoctets d'un journal.

Valeur par défaut: 10

drone_runner_exec_log_file_max_age

Nombre de jour où sera conservé un journal.

Valeur par défaut: 7

drone_runner_exec_log_file_max_backup

Nombre d'ancien journaux conservés.

Valeur par défaut: 0

drone_runner_exec_debug

Activer le mode debug.

Valeur par défaut: false

drone_runner_exec_trace

Activer le mode trace.

Valeur par défaut: false

drone_runner_exec_rpc_dump

Afficher le détail des communication entre le serveur et le runner en activant les paramètre suivants :

  • DRONE_RPC_DUMP_HTTP
  • DRONE_RPC_DUMP_HTTP_BODY

Activer cette option génère énormément de ligne en sortie ; à n'activer que sur une très petite période.

Valeur par défaut: false

drone_runner_exec_runner_name

Définir le nom du runner au lieu d'utiliser le nom d'hôte.

Valeur par défaut: aucune

drone_runner_exec_runner_labels

Définir les étiquettes (tags) pour le runner.
Cette option sert à cibler les runners depuis les pipelines.

Valeur par défaut: aucune

drone_runner_exec_ui_username

Activer l'interface web du runner en définissant un nom d'utilisateur pour s'y connecter.

Valeur par défaut: aucune

drone_runner_exec_ui_password

Activer l'interface web du runner en définissant un mot de passe pour s'y connecter.

Valeur par défaut: aucune

drone_runner_exec_user: drone_runner

Utilisateur exécutant le runner.

Valeur par défaut: drone_runner

drone_runner_exec_group: drone_runner

Groupe exécutant le runner.

Valeur par défaut: drone_runner

drone_runner_exec_config_base_path

Chemin vers le fichier de configuration du runner.

Valeur par défaut: /home/{{ drone_runner_exec_user }}/.drone-runner-exec

Exemple d'utilisation

inventory.yml

---

all:
  hosts:
    host1.ykn.local:

group_vars/all.yml

---

drone_runner_exec_architecture: arm64
drone_runner_exec_rpc_proto: http
drone_runner_exec_rpc_host: "192.168.1.1:9082"
drone_runner_exec_rpc_secret: !vault |
  $ANSIBLE_VAULT;1.1;AES256
  31383335306534333462613832646537376232386465643262306134653931383863336133306561
  3964303562336532393334343530636161343366656539620a326337376232623163323439303735
  39656634356366306361366537663939653336323432646335656230663133393039343638363536
  6565336166666261350a343937373733396131623962303237316661666539653432326136306239
  3538

drone_runner_api_url: "https://drone.ykn.local/api"
drone_runner_api_key: !vault |
  $ANSIBLE_VAULT;1.1;AES256
  31383335306534333462613832646537376232386465643262306134653931383863336133306561
  3964303562336532393334343530636161343366656539620a326337376232623163323439303735
  39656634356366306361366537663939653336323432646335656230663133393039343638363536
  6565336166666261350a343937373733396131623962303237316661666539653432326136306239
  3538
drone_runner_api_requests:
  - path: /repos/ansible/playbook_lxc/secrets
    name: ANSIBLE_VAULT_PASSWORD
    data: !vault |
      $ANSIBLE_VAULT;1.1;AES256
      31383335306534333462613832646537376232386465643262306134653931383863336133306561
      3964303562336532393334343530636161343366656539620a326337376232623163323439303735
      39656634356366306361366537663939653336323432646335656230663133393039343638363536
      6565336166666261350a343937373733396131623962303237316661666539653432326136306239
      3538
    pull_request: false

host_vars/host1.ykn.local.yml

drone_runner_exec_runner_name: "runner-1"
drone_runner_exec_runner_labels: "runner_name: {{ drone_runner_exec_runner_name }}"

playbook.yml

---

- hosts: 'all'
  roles:
    - name: drone_runner_exec