mircomasa.jenkins_slave
jenkins-slave 角色
此角色设置一个新的 Jenkins 从节点并将其添加到 Jenkins 主节点。
需求
- 安装的 ansible 版本:>=2.8
- 支持的操作系统
- EL
- 7
- 8
- 亚马逊 Linux 2
- Ubuntu
- xenial
- bionic
- Debian
- stretch
- Windows
- 2016
- 2019
- EL
依赖项
角色变量
必填项
master_username
Jenkins 主节点 CLI 用户名。默认值为admin
。master_password
Jenkins 主节点 CLI 用户密码。默认值为admin
。master_host
Jenkins 主节点的 FQDN 名称或 IP 地址。默认值为{{ ansible_host }}
。master_port
Jenkins 主节点的 HTTP 端口。默认值为8080
。
一般默认设置
slave_agent_name
从节点的代理名称。默认值为agent
。slave_executors_num
从节点的执行器数量。默认值为1
。slave_environments
要在从节点上设置的环境变量字典。默认值为{}
slave_mode_exclusive
设置此节点的使用方式。如果为 true,则节点仅构建与匹配标签表达式的作业。默认值为false
。master_url
Jenkins 主节点的 URL。默认值为http://{{ master_host }}:{{ master_port }}
。
Linux 默认设置
slave_linux_jenkins_cred_id
Jenkins 主节点上已存在的凭证 ID:默认值为ci_slave
。slave_linux_jenkins_username
在slave_linux_jenkins_cred_id
中定义的用户名。将在从节点上创建新用户。默认值为user
。slave_linux_jenkins_password
从节点上新用户的密码。如果其类型为 '带密码的用户名',则必须与凭证密码匹配。默认值为 'password'。slave_linux_jenkins_public_key
要添加到受权的从用户的 key 文件中的公钥。如果其类型为 '带私钥的 SSH 用户名',则私钥放置在 Jenkins 主节点的凭证中。默认值为""
。slave_linux_home
部署 Jenkins 从节点二进制文件的主路径。默认值为/opt/jenkins
。slave_linux_user_group
从节点上新用户的组。默认值为user
。slave_linux_host
安装 Jenkins 从节点的主机。默认值为"{{ ansible_host }}"
。slave_linux_ssh_port
从节点的 SSH 端口。默认值为22
。slave_linux_selinux_ports
从节点的 Selinux 端口。默认值为"{{ master_port }},49187,{{ slave_linux_ssh_port }}"
。slave_linux_labels
从节点的标签列表。默认值为['linux']
。
Windows 默认设置
slave_windows_workdir
部署 Jenkins 从节点二进制文件的主路径。默认值为C:/Jenkins_Slave
。slave_windows_service
Windows 服务名称。默认值为jenkins-slave
。slave_windows_java_opts
传递给 Java 的附加选项。默认值为""
。slave_windows_labels
从节点的标签列表。默认值为['windows']
。slave_windows_service_user
设置服务启动时的用户名。slave_windows_service_password
设置服务启动时的给定用户名的密码。
示例剧本
- name: "在远程主机上使用默认的 '带密码的用户名' 凭证安装 jenkins-slave"
hosts: slave
vars:
master_host: master.example.com
roles:
- role: lean_delivery.jenkins_slave
- name: "在远程主机上使用创建的 '带密码的用户名' 凭证安装 jenkins-slave"
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: "在远程主机上使用创建的 '带私钥的 SSH 用户名' 凭证安装 jenkins-slave"
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
库存示例
[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
许可证
作者信息
作者:
- Lean Delivery 团队 team@lean-delivery.com