darkwizard242.jenkinslts

构建测试 发布 Ansible 角色 Ansible 角色 Ansible 质量评分 质量门状态 可维护性评级 可靠性评级 安全评级 GitHub 标签(最新版本) GitHub 仓库大小

Ansible 角色:jenkinslts

该角色用于在 Debian 和 EL 系统上安装(默认为)Jenkins 的 LTS 版本,或在 DebianEL 系统上卸载(如果传入变量)。

需求

Jenkins 需要 Java。

你可以使用 darkwizard242.adoptopenjdk 角色来安装 Java。

角色变量

可用变量如下所列(位于 defaults/main.yml):

变量列表:

jenkinslts_user: jenkins
jenkinslts_group: jenkins
jenkinslts_group_desired_state: present
jenkinslts_user_home: "/var/lib/{{ jenkinslts_user }}"
jenkinslts_user_shell: /bin/false
jenkinslts_user_desired_state: present
jenkinslts_app_name: jenkins
jenkinslts_debian_gpg_key: https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
jenkinslts_el_gpg_key: https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
jenkinslts_repo_debian: deb https://pkg.jenkins.io/debian-stable binary/
jenkinslts_repo_debian_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_name: jenkins
jenkinslts_repo_el_description: Jenkins
jenkinslts_repo_el: http://pkg.jenkins.io/redhat-stable
jenkinslts_repo_el_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_gpgcheck: yes
jenkinslts_repo_desired_state: present
jenkinslts_desired_state: present
jenkinslts_default_debain_config_file: /etc/default/jenkins
jenkinslts_default_el_config_file: /etc/sysconfig/jenkins
jenkinslts_app_port: 8080
jenkinslts_app_heapsize_max: 256m
jenkinslts_service_name: jenkins
jenkinslts_service_desired_state: restarted
jenkinslts_service_desired_boot_enabled: yes
jenkinslts_app_check_status_code: 200
jenkinslts_app_check_status_code_retries: 10
jenkinslts_app_check_status_code_delay: 5
jenkinslts_app_admin_password_file: "{{ jenkinslts_user_home }}/secrets/initialAdminPassword"

变量表:

变量 描述
jenkinslts_group Jenkins 所有者将属于的组的名称。只需在 Debian 系统上需要 Jenkins 组参数,EL 系统上不需要。
jenkinslts_group_desired_state present 表示如果组不存在则创建。另一个选项是 absent
jenkinslts_user Jenkins 所有者的用户名。
jenkinslts_user_home 上述 jenkinslts_user 指定的 Jenkins 用户的主目录。由于 Jenkins 默认安装在 /var/lib/jenkins,建议使用该目录。
jenkinslts_user_shell jenkinslts_user 的 shell。通常不需要使用 shell,因此设置为 /bin/false
jenkinslts_user_desired_state present 表示如果用户不存在则创建。另一个选项是 absent
jenkinslts_debian_gpg_key Debian 系统上所需的 Jenkins GPG 密钥。
jenkinslts_el_gpg_key EL 系统上所需的 Jenkins GPG 密钥。
jenkinslts_repo_debian 在 Debian 系统上添加的仓库标记。
jenkinslts_repo_debian_filename 将存储在 Debian 系统的 /etc/apt/sources.list.d/ 中的仓库文件名。默认值为 {{ jenkinslts_app_name }},即 jenkins
jenkinslts_repo_el_name EL 系统上 Jenkins 的仓库名称。
jenkinslts_repo_el_description 要在 EL 基础库文件中添加的 Jenkins 描述。
jenkinslts_repo_el EL 系统上 Jenkins 的基础 URL。
jenkinslts_repo_el_gpgcheck 是否对 EL 系统上的 Jenkins 进行 GPG 检查的布尔值。
jenkinslts_repo_desired_state present 表示如果在 Debian 或 EL 系统上不存在则创建仓库文件。另一个选项是 absent(不推荐,因为这将阻止安装 jenkins 包)。
jenkinslts_app_name Jenkins LTS(长期支持)应用的名称,即 jenkins
jenkinslts_desired_state Jenkins 应用包(如 jenkins 本身)的状态。是否安装、确认是否可用或卸载(即 ansible apt 模块值:presentlatestabsent)。
jenkinslts_default_debain_config_file Debian 系统上 Jenkins 的默认配置文件。
jenkinslts_default_el_config_file EL 系统上 Jenkins 的默认配置文件。
jenkinslts_app_port 分配给 Jenkins 服务的端口。
jenkinslts_app_heapsize_max 分配给 Jenkins 的最大 JVM 堆大小。
jenkinslts_service_name Jenkins 的默认服务名称。
jenkinslts_service_desired_state Jenkins 服务的期望状态。
jenkinslts_service_desired_boot_enabled Jenkins 服务的启用/禁用状态。
jenkinslts_app_check_status_code 安装和重启后检查 Jenkins URL 的处理程序应返回的期望状态代码。设置为 200,因为 /login 路径返回 HTTP 代码 200。
jenkinslts_app_check_status_code_retries URL curl 重试设置为 10(因为 Jenkins 启动可能需要一些时间)。
jenkinslts_app_check_status_code_delay URL curl 的重试延迟设置为 5。
jenkinslts_app_admin_password_file 包含 Jenkins UI 默认管理员密码的文件。

依赖关系

Jenkins 需要 Java。

你可以使用 darkwizard242.adoptopenjdk 角色来安装 Java。

示例剧本

在 ansible 剧本中默认行为(即安装 jenkins 包)的示例。

- hosts: servers
  roles:
    - darkwizard242.jenkinslts

在 ansible 剧本中自定义角色的行为(即与 darkwizard242.jenkins 一起安装 darkwizard242.adoptopenjdk 角色)的示例。

- hosts: servers
  roles:
    - darkwizard242.adoptopenjdk
    - darkwizard242.jenkinslts
  vars:
    adoptopenjdk_app_name: adoptopenjdk-11-hotspot
    adoptopenjdk_desired_state: present
    jenkinslts_desired_state: latest

在 ansible 剧本中自定义角色的行为(即卸载 jenkins 包)的示例。

- hosts: servers
  roles:
    - darkwizard242.jenkinslts
  vars:
    jenkinslts_desired_state: absent

许可证

MIT

作者信息

该角色由 Ali Muhammad 创建。

关于项目

Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.

安装
ansible-galaxy install darkwizard242.jenkinslts
许可证
mit
下载
4.9k
拥有者
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!