wcm_io_devops.jenkins_configuration_as_code

CI

wcm_io_devops.jenkins_configuration_as_code

该角色管理Jenkins配置即代码插件(JCasC)的安装、配置和更新。

任务:

  • 安装JCasC插件
  • 配置JCasC插件的路径
  • 部署JCasC配置文件
  • 重新加载JCasC

要求

该角色需要Ansible 2.7或更高版本,并且目标实例上需要运行Jenkins。

角色变量

可用的变量及其默认值如下:

jenkins_casc_admin_username: admin

Jenkins管理员用户名。

jenkins_casc_admin_password: admin

Jenkins管理员密码。

jenkins_casc_owner: jenkins

Linux上Jenkins用户。

jenkins_casc_group: "{{ jenkins_casc_owner }}"

Jenkins用户的Linux组。

jenkins_casc_jenkins_hostname: localhost

Jenkins实例的主机名。

jenkins_casc_jenkins_port: 8080

Jenkins实例的HTTP端口。

jenkins_casc_jenkins_url_prefix: ""

Jenkins实例的URL前缀,例如在Tomcat中运行时的前缀。

jenkins_casc_jenkins_base_url: "http://{{ jenkins_casc_jenkins_hostname }}:{{ jenkins_casc_jenkins_port }}{{ jenkins_casc_jenkins_url_prefix }}"

Jenkins实例的基本URL。

jenkins_casc_jenkins_home: "/var/lib/jenkins"

包含配置所需YAML文件的Jenkins CACS目录路径。

jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"

包含配置所需YAML文件的Jenkins CACS目录路径。

jenkins_casc_config_path_configure: false

启用/禁用配置路径的设置。当该值设置为true时,Jenkins实例中的JCasC路径将设置为jenkins_casc_config_path。如果该路径与之前设置的路径不同,配置将直接重新加载。

jenkins_casc_config_fileglobs: []

要上传的配置文件/模板。如果此步骤的结果发生变化,配置将重新加载。

jenkins_casc_config_unmanaged_delete: false

控制是否删除在'jenkins_casc_config_path'中存在但未包含在'jenkins_casc_config_fileglobs'中的文件。只有在至少上传了一个文件到'jenkins_casc_config_path'时才会执行删除。

jenkins_casc_script_timeout: 60

Jenkins脚本任务的超时时间,单位为秒。

jenkins_casc_plugins_present:
  - name: configuration-as-code
    version: "1.3"
  - name: configuration-as-code-support
    version: "1.3"

配置即代码所需的插件。

jenkins_casc_secrets_dir: /var/jenkins_secrets

存储凭据的文件夹,路径将通过环境变量SECRETS进行配置。

jenkins_casc_secrets_unmanaged_delete: true

控制该角色是否删除在jenkins_casc_secrets_dir中存在但未定义的凭据。只有在至少上传了一个秘密到'jenkins_casc_secrets_dir'时才会执行删除。

jenkins_casc_secrets: []
# 示例:
# - id: credential-id
#   value: credential-value

凭据的ID/值对列表。可以在JCasC中使用${id}作为值引用。

依赖关系

该角色依赖于 wcm_io_devops.jenkins_plugins 角色进行插件的安装/卸载。

作为传递依赖,该角色使用 wcm_io_devops.jenkins_facts 角色从Jenkins实例中获取已安装插件的列表。

示例剧本

该剧本将把JCasC配置路径设置为/var/lib/jenkins/jcasc-folder,并将file/jcasc/my-jenkins/下找到的所有.yml.yaml文件部署到该文件夹中。

- name: "部署jcasc"
  hosts: jenkins
  vars:
    jenkins_casc_config_path_configure: true
    jenkins_casc_config_path: "/var/lib/jenkins/jcasc-folder"
    jenkins_casc_config_fileglobs:
        - file/jcasc/my-jenkins/*.yml
        - file/jcasc/my-jenkins/*.yaml
  roles:
    - wcm_io_devops.jenkins_configuration_as_code

许可证

Apache 2.0

关于项目

Configures Jenkins configuration as code plugin (jcasc).

安装
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code
许可证
apache-2.0
下载
12.9k
拥有者
Tools for Configuration Management and Deployment