lean_delivery.jenkins_slave
jenkins-slave Role
This role helps you set up a new Jenkins slave node and connect it to the Jenkins master.
Requirements
- You need to have Ansible version 2.8 or higher.
- Supported Operating Systems:
- EL (CentOS/RHEL):
- 7
- 8
- Amazon Linux 2
- Ubuntu:
- xenial
- bionic
- Debian:
- stretch
- Windows:
- 2016
- 2019
- EL (CentOS/RHEL):
Dependencies
Role Variables
Required Variables:
master_username
: Jenkins master username. Default isadmin
.master_password
: Jenkins master user password. Default isadmin
.master_host
: The full domain name (FQDN) or IP of the Jenkins master. Default is{{ ansible_host }}
.master_port
: Jenkins master HTTP port. Default is8080
.
General Defaults:
slave_agent_name
: Name for the slave node. Default isagent
.slave_executors_num
: Number of executors on the slave node. Default is1
.slave_environments
: Environment variables for the slave. Default is{}
.slave_mode_exclusive
: If true, the node will only build jobs with matching labels. Default isfalse
.master_url
: URL of the Jenkins master. Default ishttp://{{ master_host }}:{{ master_port }}
.
Linux Defaults:
slave_linux_jenkins_cred_id
: Existing Jenkins credentials ID. Default isci_slave
.slave_linux_jenkins_username
: Username for a new user on the slave. Default isuser
.slave_linux_jenkins_password
: Password for the new user. Default ispassword
.slave_linux_jenkins_public_key
: Public key for SSH access. Default is""
.slave_linux_home
: Path for Jenkins slave files. Default is/opt/jenkins
.slave_linux_user_group
: User group for the new user. Default isuser
.slave_linux_host
: Host for the Jenkins slave. Default is{{ ansible_host }}
.slave_linux_ssh_port
: SSH port for the slave. Default is22
.slave_linux_selinux_ports
: SELinux ports. Default is"{{ master_port }},49187,{{ slave_linux_ssh_port }}"
.slave_linux_labels
: Labels for the slave node. Default is['linux']
.
Windows Defaults:
slave_windows_workdir
: Path for Jenkins slave files. Default isC:/Jenkins_Slave
.slave_windows_service
: Windows service name. Default isjenkins-slave
.slave_windows_java_opts
: Java options. Default is""
.slave_windows_labels
: Labels for the slave node. Default is['windows']
.slave_windows_service_user
: Username for the service.slave_windows_service_password
: Password for the service user.
Example Playbook
- name: "Install Jenkins slave on remote hosts with default credentials"
hosts: slave
vars:
master_host: master.example.com
roles:
- role: lean_delivery.jenkins_slave
- name: "Install Jenkins slave on remote hosts with new credentials"
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: "Install Jenkins slave with SSH credentials"
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: your_public_key_here
roles:
- role: lean_delivery.jenkins_slave
Inventory Example
[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
License
Author Information
Authors:
- Lean Delivery Team team@lean-delivery.com
Informazioni sul progetto
Ansible Role - Jenkins Slaves installation and configuration
Installa
ansible-galaxy install lean_delivery.jenkins_slave
Licenza
apache-2.0
Download
14.8k
Proprietario
Simplify by using!