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_usernameJenkins Master CLI-Benutzername. Standardwert istadmin.master_passwordJenkins Master CLI-Benutzerpasswort. Standardwert istadmin.master_hostVollqualifizierter Domainname oder IP-Adresse des Jenkins-Master-Hosts. Standardwert ist{{ ansible_host }}.master_portJenkins Master HTTP-Port. Standardwert ist8080.
allgemeine Standardwerte
slave_agent_nameAgentenname des Slave-Knotens. Standardwert istagent.slave_executors_numAnzahl der Executor des Slave-Knotens. Standardwert ist1.slave_environmentsDictionary der Umgebungsvariablen, die auf dem Slave gesetzt werden sollen. Standardwert ist{}slave_mode_exclusiveNutzung dieses Knotens festlegen. Wenn wahr, wird der Knoten nur Jobs mit passenden Label-Ausdrücken erstellen. Standardwert istfalse.master_urlJenkins Master Host URL. Standardwert isthttp://{{ master_host }}:{{ master_port }}.
Linux-Standardeinstellungen
slave_linux_jenkins_cred_idBereits bestehende Anmeldeinformationen-ID auf dem Jenkins-Master: Standardwert istci_slave.slave_linux_jenkins_usernameBenutzername, der inslave_linux_jenkins_cred_iddefiniert ist. Ein neuer Benutzer mit diesem Namen wird auf dem Slave-Knoten erstellt. Standardwert istuser.slave_linux_jenkins_passwordPasswort 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_homeHeimatpfad für die Bereitstellung von Jenkins-Slave-Binärdateien. Standardwert ist/opt/jenkins.slave_linux_user_groupGruppe für einen neuen Benutzer auf dem Slave-Knoten. Standardwert istuser.slave_linux_hostHost, auf dem der Jenkins-Slave installiert ist. Standardwert ist"{{ ansible_host }}".slave_linux_ssh_portSSH-Port des Slave-Knotens. Standardwert ist22.slave_linux_selinux_portsSelinux-Ports des Slave-Knotens. Standardwert ist"{{ master_port }},49187,{{ slave_linux_ssh_port }}".slave_linux_labelsListe von Labels für den Slave-Knoten. Standardwert ist['linux'].
Windows-Standardeinstellungen
slave_windows_workdirHeimatpfad für die Bereitstellung von Jenkins-Slave-Binärdateien. Standardwert istC:/Jenkins_Slave.slave_windows_serviceWindows-Dienstername. Standardwert istjenkins-slave.slave_windows_java_optsZusätzliche Optionen für Java. Standardwert ist"".slave_windows_labelsListe von Labels für den Slave-Knoten. Standardwert ist['windows'].slave_windows_service_userDer Benutzername, um den Dienst zu starten.slave_windows_service_passwordDas 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
