mircomasa.jenkins_slave

jenkins-slave 角色

许可证 管道状态 管道状态 Galaxy Ansible Ansible

此角色设置一个新的 Jenkins 从节点并将其添加到 Jenkins 主节点。

需求


  • 安装的 ansible 版本:>=2.8
  • 支持的操作系统
    • EL
      • 7
      • 8
    • 亚马逊 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 主节点的 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_usernameslave_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

许可证


Apache 许可证

作者信息


作者:

关于项目

Ansible Role - Jenkins Slaves installation and configuration

安装
ansible-galaxy install mircomasa.jenkins_slave
许可证
apache-2.0
下载
3.5k
拥有者