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のグローバル環境変数。 リストが空の場合、設定は行われません。
jenkins_config_pipeline_durability: ''
Jenkins設定で設定するパイプラインのデフォルトのスピード/耐久性レベル。 サポートされている値が指定されない限り、設定は行われません。
サポートされている値:
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: '[email protected]:example/global-pipeline-library.git'
# scm_credentials_id: jenkins-ssh
Jenkins設定で設定するグローバルパイプラインライブラリ。 全てのフィールドは非null値を含む必要があります(空 / 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設定で設定するEメール通知の値。
全てのフィールドは非null値を含む必要があります(空 / 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から追加されたキー
グローバルスコープで設定する資格情報。 全てのフィールドは非null値を含む必要があります(空 / 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に設定するノード。 定義された全てのフィールドは非null値を含む必要があります(空 / 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
: 整数
例 Playbook
- hosts: servers
roles:
- { role: meierw.jenkins_config }
ライセンス
MIT
著者情報
- 著者: ウォルター・マイアー