mircomasa.jenkins_slave
jenkins-slave Rolle
Diese Rolle richtet einen neuen Jenkins-Slave-Knoten ein und fügt ihn zum Jenkins-Master hinzu.
Anforderungen
- Ansible-Version für die Installation: >=2.8
- Unterstützte Betriebssysteme
- EL
- 7
- 8
- Amazon Linux 2
- Ubuntu
- xenial
- bionic
- Debian
- stretch
- Windows
- 2016
- 2019
- EL
Abhängigkeiten
Rollenvariablen
erforderlich
master_username
Jenkins Master CLI-Benutzername. Standardwert istadmin
.master_password
Jenkins Master CLI-Benutzerpasswort. Standardwert istadmin
.master_host
Vollqualifizierter Domainname oder IP-Adresse des Jenkins-Master-Hosts. Standardwert ist{{ ansible_host }}
.master_port
Jenkins Master HTTP-Port. Standardwert ist8080
.
allgemeine Standardwerte
slave_agent_name
Agentenname des Slave-Knotens. Standardwert istagent
.slave_executors_num
Anzahl der Executor des Slave-Knotens. Standardwert ist1
.slave_environments
Dictionary der Umgebungsvariablen, die auf dem Slave gesetzt werden sollen. Standardwert ist{}
slave_mode_exclusive
Nutzung dieses Knotens festlegen. Wenn wahr, wird der Knoten nur Jobs mit passenden Label-Ausdrücken erstellen. Standardwert istfalse
.master_url
Jenkins Master Host URL. Standardwert isthttp://{{ master_host }}:{{ master_port }}
.
Linux-Standardeinstellungen
slave_linux_jenkins_cred_id
Bereits bestehende Anmeldeinformationen-ID auf dem Jenkins-Master: Standardwert istci_slave
.slave_linux_jenkins_username
Benutzername, der inslave_linux_jenkins_cred_id
definiert ist. Ein neuer Benutzer mit diesem Namen wird auf dem Slave-Knoten erstellt. Standardwert istuser
.slave_linux_jenkins_password
Passwort für einen neuen Benutzer auf dem Slave-Knoten. Musst mit dem Passwort der Anmeldeinformationen übereinstimmen, wenn deren Typ 'Benutzername mit Passwort' ist. Standardwert ist 'password'.slave_linux_jenkins_public_key
Öffentlicher Schlüssel, der zur Datei authorized_keys des Slave-Benutzers hinzugefügt werden soll. Der private Schlüssel ist in den Anmeldeinformationen auf dem Jenkins-Master, wenn dessen Typ 'SSH-Benutzername mit privatem Schlüssel' ist. Standardwert ist""
.slave_linux_home
Heimatpfad für die Bereitstellung von Jenkins-Slave-Binärdateien. Standardwert ist/opt/jenkins
.slave_linux_user_group
Gruppe für einen neuen Benutzer auf dem Slave-Knoten. Standardwert istuser
.slave_linux_host
Host, auf dem der Jenkins-Slave installiert ist. Standardwert ist"{{ ansible_host }}"
.slave_linux_ssh_port
SSH-Port des Slave-Knotens. Standardwert ist22
.slave_linux_selinux_ports
Selinux-Ports des Slave-Knotens. Standardwert ist"{{ master_port }},49187,{{ slave_linux_ssh_port }}"
.slave_linux_labels
Liste von Labels für den Slave-Knoten. Standardwert ist['linux']
.
Windows-Standardeinstellungen
slave_windows_workdir
Heimatpfad für die Bereitstellung von Jenkins-Slave-Binärdateien. Standardwert istC:/Jenkins_Slave
.slave_windows_service
Windows-Dienstername. Standardwert istjenkins-slave
.slave_windows_java_opts
Zusätzliche Optionen für Java. Standardwert ist""
.slave_windows_labels
Liste von Labels für den Slave-Knoten. Standardwert ist['windows']
.slave_windows_service_user
Der Benutzername, um den Dienst zu starten.slave_windows_service_password
Das Passwort des angegebenen Benutzernamens, um den Dienst zu starten.
Beispiel Playbook
- name: "Installiere jenkins-slave auf entfernten Hosts mit Standard-Anmeldeinformationen 'Benutzername mit Passwort'"
hosts: slave
vars:
master_host: master.example.com
roles:
- role: lean_delivery.jenkins_slave
- name: "Installiere jenkins-slave auf entfernten Hosts mit erstellten Anmeldeinformationen 'Benutzername mit Passwort'"
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: "Installiere jenkins-slave auf entfernten Hosts mit erstellten Anmeldeinformationen 'SSH-Benutzername mit privatem Schlüssel'"
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
Beispiel Inventory
[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
Lizenz
Autor Informationen
autoren:
- Lean Delivery Team team@lean-delivery.com