mircomasa.jenkins_slave

rôle jenkins-slave

Licence statut du pipeline Galaxie Ansible Ansible

Ce rôle configure un nouveau nœud esclave jenkins et l'ajoute au maître jenkins.

Exigences


  • Version d'ansible pour l'installation : >=2.8
  • Systèmes d'exploitation supportés
    • EL
      • 7
      • 8
    • Amazon Linux 2
    • Ubuntu
      • xenial
      • bionic
    • Debian
      • stretch
    • Windows
      • 2016
      • 2019

Dépendances


Java 8 Statut de construction

Variables du rôle


  • requis

    • master_username Nom d'utilisateur de la CLI du maître Jenkins. La valeur par défaut est admin.
    • master_password Mot de passe de la CLI du maître Jenkins. La valeur par défaut est admin.
    • master_host Nom FQDN ou adresse IP de l'hôte maître Jenkins. La valeur par défaut est {{ ansible_host }}.
    • master_port Port http du maître Jenkins. La valeur par défaut est 8080.
  • valeurs par défaut générales

    • slave_agent_name Nom de l'agent du nœud esclave. La valeur par défaut est agent.
    • slave_executors_num Nombre d'exécuteurs du nœud esclave. La valeur par défaut est 1.
    • slave_environments Dictionnaire des variables d'environnement à définir sur l'esclave. La valeur par défaut est {}
    • slave_mode_exclusive Définit l'utilisation de ce nœud. Si vrai, le nœud ne construira que des travaux avec des expressions d'étiquettes correspondantes. La valeur par défaut est false.
    • master_url URL de l'hôte maître Jenkins. La valeur par défaut est http://{{ master_host }}:{{ master_port }}.
  • valeurs par défaut pour Linux

    • slave_linux_jenkins_cred_id Identifiant des informations d'identification existantes sur le maître Jenkins : La valeur par défaut est ci_slave.
    • slave_linux_jenkins_username Nom d'utilisateur défini dans slave_linux_jenkins_cred_id. Un nouvel utilisateur avec ce nom sera créé sur le nœud esclave. La valeur par défaut est user.
    • slave_linux_jenkins_password Mot de passe pour un nouvel utilisateur sur le nœud esclave. Doit correspondre au mot de passe des informations d'identification s'il s'agit d'un type 'Nom d'utilisateur avec mot de passe'. La valeur par défaut est 'password'.
    • slave_linux_jenkins_public_key Clé publique à ajouter au fichier authorized_keys de l'utilisateur esclave. La clé privée est placée dans les informations d'identification sur le maître Jenkins si son type est 'Nom d'utilisateur SSH avec clé privée'. La valeur par défaut est "".
    • slave_linux_home Chemin d'accueil pour déployer les binaires de l'esclave Jenkins. La valeur par défaut est /opt/jenkins.
    • slave_linux_user_group Groupe pour un nouvel utilisateur sur le nœud esclave. La valeur par défaut est user.
    • slave_linux_host Hôte où l'esclave Jenkins est installé. La valeur par défaut est "{{ ansible_host }}".
    • slave_linux_ssh_port Port SSH du nœud esclave. La valeur par défaut est 22.
    • slave_linux_selinux_ports Ports Selinux du nœud esclave. La valeur par défaut est "{{ master_port }},49187,{{ slave_linux_ssh_port }}".
    • slave_linux_labels Liste des étiquettes pour le nœud esclave. La valeur par défaut est ['linux'].
  • valeurs par défaut pour Windows

    • slave_windows_workdir Chemin d'accueil pour déployer les binaires de l'esclave Jenkins. La valeur par défaut est C:/Jenkins_Slave.
    • slave_windows_service Nom du service Windows. La valeur par défaut est jenkins-slave.
    • slave_windows_java_opts Options supplémentaires à passer à Java. La valeur par défaut est "".
    • slave_windows_labels Liste des étiquettes pour le nœud esclave. La valeur par défaut est ['windows'].
    • slave_windows_service_user Le nom d'utilisateur sous lequel le service doit démarrer.
    • slave_windows_service_password Le mot de passe du nom d'utilisateur donné pour démarrer le service.

Exemple de Playbook

- name: "Installer jenkins-slave sur des hôtes distants en utilisant les informations d'identification par défaut 'Nom d'utilisateur avec mot de passe'"
  hosts: slave

  vars:
    master_host: master.example.com

  roles:
    - role: lean_delivery.jenkins_slave
- name: "Installer jenkins-slave sur des hôtes distants en utilisant des informations d'identification créées 'Nom d'utilisateur avec mot de passe'"
  hosts: one_slave

  vars:
    master_host: master.example.com
    slave_linux_jenkins_cred_id: new_cred
    slave_linux_jenkins_username: new_user
    slave_linux_jenkins_password: new_password
    slave_agent_name: new_linux_slave

  roles:
    - role: lean_delivery.jenkins_slave
- name: "Installer jenkins-slave sur des hôtes distants en utilisant des informations d'identification créées 'Nom d'utilisateur SSH avec clé privée'"
  hosts: many_slaves

  vars:
    master_host: master.example.com
    slave_linux_jenkins_cred_id: new_cred
    slave_linux_jenkins_username: new_user
    slave_linux_jenkins_public_key:
Nck6x4HPrsdfkjhwhf98239hfoijhpowifnYXRXAW1GYGC3lsq7FpWjCeN8wT5QzRsblTh6HZKqh96K3Jj6kpob8ykjhsdkfjhskdfuhksdjfhksjdfhksfjhhkjhUHKUHDKFksjdfhkjshdfXPlx2xSUINDsH2IACLjIrxSAppxITzR7fHZyLmkjsdhfkuwhe98237982fhksdfhksdfhkuhCmcvH6fdVtozo42lXt4QgKytGtiuGAT+lN+uJ4LVGOq32WiEbYKbc7WE7N

  roles:
    - role: lean_delivery.jenkins_slave

Exemple d'inventaire

[master]
master.example.com

[one_slave]
slave.example.com

[many_slaves]
slave1.example.com slave_agent_name=slave1
slave2.example.com slave_agent_name=slave2

Licence


Apache Licence

Informations sur l'auteur


auteurs:

À propos du projet

Ansible Role - Jenkins Slaves installation and configuration

Installer
ansible-galaxy install mircomasa.jenkins_slave
Licence
apache-2.0
Téléchargements
3.5k
Propriétaire