meierw.jenkins_config
jenkins_config
一个管理Jenkins中各种选项/配置的Ansible角色。
需求
- 一个Jenkins服务以及任何你计划配置的插件。
- 能够对该Jenkins服务执行jenkins_script。
角色变量
重要提示: 在指定时,这些变量中的大多数将覆盖之前设置的Jenkins选项。 请注意不要丢失任何之前设置的配置。
jenkins_config_url: http://localhost:8080
jenkins_config_user: admin
jenkins_config_password: admin
用于与Jenkins进行身份验证的URL、用户名和密码。将用于执行jenkins_script
。
jenkins_config_csrf_enabled: null
要在Jenkins设置中设置的CSRF保护状态。 除非指定了一个受支持的值,否则不会设置。
受支持的值:
true
false
jenkins_config_global_environment_variables: []
# jenkins_config_global_environment_variables:
# - name: FOO
# value: bar
# - name: TOKEN
# value: xxxyyyzzz
要在Jenkins设置中设置的全局环境变量。 如果列表为空,则不会设置。
jenkins_config_pipeline_durability: ''
要在Jenkins设置中设置的Pipeline默认速度/耐久性等级。 除非指定了一个受支持的值,否则不会设置。
受支持的值:
max_survivability
performance_optimized
survivable_nonatomic
jenkins_config_simple_theme_css_url: ''
# jenkins_config_simple_theme_css_url: https://cdn.rawgit.com/afonsof/jenkins-material-theme/gh-pages/dist/material-indigo.css
要在Jenkins简单主题设置中设置的CSS主题URL。 如果该值为空,则不会设置。
jenkins_config_jenkins_url: ''
要在Jenkins设置中设置的Jenkins URL。 如果该值为空,则不会设置。
jenkins_config_system_admin_email: ''
要在Jenkins设置中设置的系统管理员电子邮件地址。 如果该值为空,则不会设置。
jenkins_config_global_pipeline_libraries: []
# jenkins_config_global_pipeline_libraries:
# - name: global-pipeline-library
# default_version: master
# load_implicitly: false
# allow_default_version_override: true
# scm_git_path: 'git@github.com:example/global-pipeline-library.git'
# scm_credentials_id: jenkins-ssh
要在Jenkins设置中设置的全局Pipeline库。 所有字段应包含非空值(空 / 0 / 等,具体取决于类型)。 如果列表为空,则不会设置。
必填字段(不能为空):
name
scm_git_path
scm_credentials_id
jenkins_config_email_notification: null
# jenkins_config_email_notification:
# smtp_server: smtp.gmail.com
# default_user_email_suffix: @example.com
# smtp_auth_username: example
# smtp_auth_password: "{{ secret_smtp_password }}"
# use_ssl: false
# smtp_port: 465
# reply_to_address: ''
# charset: UTF-8
要在Jenkins设置中设置的电子邮件通知值。
所有字段应包含非空值(空 / 0 / 等,具体取决于类型)。
如果jenkins_config_email_notification.smtp_server未定义
,则不会设置。
jenkins_config_credentials: []
# jenkins_config_credentials:
# - kind: ssh_username_with_private_key
# id: jenkins-ssh
# username: jenkins
# private_key: "{{ secret_key }}"
# passphrase: ''
# description: 从Ansible添加的密钥
要在全局范围内设置的凭据。 所有字段应包含非空值(空 / 0 / 等,具体取决于类型)。 如果列表为空,则不会设置。
必填字段(不能为空):
kind
id
受支持的kind
和所需的额外字段:
username_with_password
id
: 字符串username
: 字符串password
: 字符串description
: 字符串
ssh_username_with_private_key
id
: 字符串username
: 字符串private_key
: 字符串passphrase
: 字符串description
: 字符串
jenkins_config_nodes: []
# jenkins_config_nodes:
# - name: slave0
# description: 从Ansible添加的节点
# num_of_executors: 2
# remote_root_directory: /var/lib/jenkins
# labels: 以空格分隔的标签
# usage: exclusive
# launch_method:
# type: via_ssh
# host: slave0.example.com
# port: 22
# credentials_id: jenkins-ssh
# verification_strategy:
# type: manually_trusted_key
# require_initial_manual_trust: true
# availability:
# type: always
# environment_variables: # 可选定义
# - name: FOO
# value: bar
# disable_deferred_wipeout: true # 可选定义
要在Jenkins中设置的节点。 所有定义的字段应包含非空值(空 / 0 / 等,具体取决于类型)。 如果列表为空,则不会设置。
必填字段(不能为空):
name
num_of_executors
remote_root_directory
usage
launch_method
availability
受支持的usage
值:
normal
exclusive
受支持的launch_method
: type
和所需的额外字段:
via_command
command
: 字符串
via_ssh
host
: 字符串port
: 整数credentials_id
: 字符串- 支持的
verification_strategy
:type
和所需的额外字段:known_hosts_file
manually_provided_key
ssh_key
: 字符串
manually_trusted_key
require_initial_manual_trust
: 布尔值
non_verifying
受支持的availability
: type
和所需的额外字段:
always
schedule
startup_schedule
: 字符串scheduled_uptime
: 整数keep_up_when_active
: 布尔值
demand
in_demand_delay
: 整数idle_delay
: 整数
示例剧本
- hosts: servers
roles:
- { role: meierw.jenkins_config }
许可证
MIT
作者信息
- 作者: Walter Meier