lean_delivery.jenkins_slave

jenkins-slave 角色

许可证 管道状态 Galaxy Ansible Ansible

该角色用于设置新的 Jenkins 从节点并将其添加到 Jenkins 主节点。

要求


  • 安装的 Ansible 版本:>=2.8
  • 支持的操作系统
    • EL
      • 7
      • 8
    • Amazon Linux 2
    • Ubuntu
      • xenial
      • bionic
    • Debian
      • stretch
    • Windows
      • 2016
      • 2019

依赖


Java 8 构建状态

角色变量


  • 必需的

    • master_username Jenkins 主节点 CLI 用户名。默认值为 admin
    • master_password Jenkins 主节点 CLI 用户密码。默认值为 admin
    • master_host Jenkins 主机的完全限定域名或 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_usernameslave_linux_jenkins_cred_id 中定义的用户名。将在从节点上创建一个新用户,默认值为 user
    • slave_linux_jenkins_password 从节点上新用户的密码。如果凭据类型为 'Username with password',则必须与其密码匹配。默认值为 'password'。
    • slave_linux_jenkins_public_key 要添加到授权密钥的从节点用户文件的公钥。如果凭据类型为 'SSH Username with private key',则私钥放置在 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: "使用默认的 'Username with password' 凭据在远程主机上安装 jenkins-slave"
  hosts: slave

  vars:
    master_host: master.example.com

  roles:
    - role: lean_delivery.jenkins_slave
- name: "使用创作的 'Username with password' 凭据在远程主机上安装 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 Username with private key' 凭据在远程主机上安装 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

许可证


Apache 许可证

作者信息


作者:

关于项目

Ansible Role - Jenkins Slaves installation and configuration

安装
ansible-galaxy install lean_delivery.jenkins_slave
许可证
apache-2.0
下载
14.8k
拥有者
Simplify by using!