wcm_io_devops.jenkins_configuration_as_code
wcm_io_devops.jenkins_configuration_as_code
この役割は、Jenkins Configuration as Code Plugin(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 CAsCディレクトリへのパス。
jenkins_casc_config_path: "{{ jenkins_casc_jenkins_home }}/jcasc"
設定用のyamlファイルを含むJenkins CAsCディレクトリへのパス。
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'に含まれない場合、削除されるかどうかを制御します。少なくとも1つのファイルが'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'に定義されていない既存の資格情報を削除するかどうかを制御します。少なくとも1つのシークレットが'jenkins_casc_secrets_dir'にアップロードされた場合にのみ削除が実行されます。
jenkins_casc_secrets: []
# 例:
# - id: credential-id
# value: credential-value
ID/値の資格情報ペアのリスト。id
はjcasc内で${id}
として参照できます。
依存関係
この役割は、wcm_io_devops.jenkins_plugins役割に依存しており、プラグインのインストール/アンインストールを行います。
この役割は、Jenkinsインスタンスからインストールされたプラグインのリストを取得するために、wcm_io_devops.jenkins_facts役割を使用します。
例プレイブック
このプレイブックは、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
ansible-galaxy install wcm_io_devops.jenkins_configuration_as_code