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保护状态。 除非指定了一个受支持的值,否则不会设置。
受支持的值:
truefalse
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_survivabilityperformance_optimizedsurvivable_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: '[email protected]:example/global-pipeline-library.git'
# scm_credentials_id: jenkins-ssh
要在Jenkins设置中设置的全局Pipeline库。 所有字段应包含非空值(空 / 0 / 等,具体取决于类型)。 如果列表为空,则不会设置。
必填字段(不能为空):
namescm_git_pathscm_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 / 等,具体取决于类型)。 如果列表为空,则不会设置。
必填字段(不能为空):
kindid
受支持的kind和所需的额外字段:
username_with_passwordid: 字符串username: 字符串password: 字符串description: 字符串
ssh_username_with_private_keyid: 字符串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 / 等,具体取决于类型)。 如果列表为空,则不会设置。
必填字段(不能为空):
namenum_of_executorsremote_root_directoryusagelaunch_methodavailability
受支持的usage值:
normalexclusive
受支持的launch_method : type和所需的额外字段:
via_commandcommand: 字符串
via_sshhost: 字符串port: 整数credentials_id: 字符串- 支持的
verification_strategy:type和所需的额外字段:known_hosts_filemanually_provided_keyssh_key: 字符串
manually_trusted_keyrequire_initial_manual_trust: 布尔值
non_verifying
受支持的availability : type和所需的额外字段:
alwaysschedulestartup_schedule: 字符串scheduled_uptime: 整数keep_up_when_active: 布尔值
demandin_demand_delay: 整数idle_delay: 整数
示例剧本
- hosts: servers
roles:
- { role: meierw.jenkins_config }
许可证
MIT
作者信息
- 作者: Walter Meier
