lean_delivery.jenkins_slave

Rôle Jenkins-Slave

================== Licence Statut de la pipeline Galaxy Ansible Ansible

Ce rôle configure un nouveau nœud slave Jenkins et l'ajoute au master 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 CLI du master Jenkins. Valeur par défaut : admin.
    • master_password Mot de passe de l'utilisateur CLI du master Jenkins. Valeur par défaut : admin.
    • master_host Nom FQDN ou adresse IP de l'hôte master Jenkins. Valeur par défaut : {{ ansible_host }}.
    • master_port Port HTTP du master Jenkins. Valeur par défaut : 8080.
  • paramètres par défaut

    • slave_agent_name Nom de l'agent du nœud slave. Valeur par défaut : agent.
    • slave_executors_num Nombre d'exécuteurs sur le nœud slave. Valeur par défaut : 1.
    • slave_environments Dictionnaire des variables d'environnement à définir sur le slave. Valeur par défaut : {}
    • slave_mode_exclusive Utilisation de ce nœud. Si vrai, le nœud ne construira que des tâches avec des expressions d'étiquette correspondantes. Valeur par défaut : false.
    • master_url URL de l'hôte master Jenkins. Valeur par défaut : http://{{ master_host }}:{{ master_port }}.
  • paramètres par défaut pour Linux

    • slave_linux_jenkins_cred_id Identifiant des identifiants déjà existants sur le master Jenkins. Valeur par défaut : 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 slave. Valeur par défaut : user.
    • slave_linux_jenkins_password Mot de passe pour un nouvel utilisateur sur le nœud slave. Doit correspondre au mot de passe des identifiants si son type est 'Nom d'utilisateur avec mot de passe'. Valeur par défaut : 'password'.
    • slave_linux_jenkins_public_key Clé publique à ajouter au fichier authorized_keys de l'utilisateur slave. La clé privée est placée dans les identifiants sur le master Jenkins si son type est 'Nom d'utilisateur SSH avec clé privée'. Valeur par défaut : "".
    • slave_linux_home Chemin d'accueil pour le déploiement des binaires du slave Jenkins. Valeur par défaut : /opt/jenkins.
    • slave_linux_user_group Groupe pour un nouvel utilisateur sur le nœud slave. Valeur par défaut : user.
    • slave_linux_host Hôte où le slave Jenkins est installé. Valeur par défaut : "{{ ansible_host }}".
    • slave_linux_ssh_port Port SSH du nœud slave. Valeur par défaut : 22.
    • slave_linux_selinux_ports Ports Selinux du nœud slave. Valeur par défaut : "{{ master_port }},49187,{{ slave_linux_ssh_port }}".
    • slave_linux_labels Liste des étiquettes pour le nœud slave. Valeur par défaut : ['linux'].
  • paramètres par défaut pour Windows

    • slave_windows_workdir Chemin d'accueil pour le déploiement des binaires du slave Jenkins. Valeur par défaut : C:/Jenkins_Slave.
    • slave_windows_service Nom du service Windows. Valeur par défaut : jenkins-slave.
    • slave_windows_java_opts Options supplémentaires à passées à Java. Valeur par défaut : "".
    • slave_windows_labels Liste des étiquettes pour le nœud slave. Valeur par défaut : ['windows'].
    • slave_windows_service_user Nom d'utilisateur sous lequel le service doit démarrer.
    • slave_windows_service_password 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 identifiants 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 les identifiants créés '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 les identifiants créés '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 lean_delivery.jenkins_slave
Licence
apache-2.0
Téléchargements
14.8k
Propriétaire
Simplify by using!