darkwizard242.jenkinslts

Ansible Role: jenkinslts

このロールは、デフォルトでDebianベースおよびELベースのシステムにJenkinsのLTSバージョンをインストールします。また、変数を渡すことでアンインストールも可能です。

要件

JenkinsにはJavaが必要です。

Javaはdarkwizard242.adoptopenjdkロールを使用してインストールできます。

ロール変数

使用可能な変数は以下の通りです(defaults/main.ymlにあります):

変数リスト:

jenkinslts_user: jenkins
jenkinslts_group: jenkins
jenkinslts_group_desired_state: present
jenkinslts_user_home: "/var/lib/{{ jenkinslts_user }}"
jenkinslts_user_shell: /bin/false
jenkinslts_user_desired_state: present
jenkinslts_app_name: jenkins
jenkinslts_debian_gpg_key: https://pkg.jenkins.io/debian-stable/jenkins.io-2023.key
jenkinslts_el_gpg_key: https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
jenkinslts_repo_debian: deb https://pkg.jenkins.io/debian-stable binary/
jenkinslts_repo_debian_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_name: jenkins
jenkinslts_repo_el_description: Jenkins
jenkinslts_repo_el: http://pkg.jenkins.io/redhat-stable
jenkinslts_repo_el_filename: "{{ jenkinslts_app_name }}"
jenkinslts_repo_el_gpgcheck: yes
jenkinslts_repo_desired_state: present
jenkinslts_desired_state: present
jenkinslts_default_debain_config_file: /etc/default/jenkins
jenkinslts_default_el_config_file: /etc/sysconfig/jenkins
jenkinslts_app_port: 8080
jenkinslts_app_heapsize_max: 256m
jenkinslts_service_name: jenkins
jenkinslts_service_desired_state: restarted
jenkinslts_service_desired_boot_enabled: yes
jenkinslts_app_check_status_code: 200
jenkinslts_app_check_status_code_retries: 10
jenkinslts_app_check_status_code_delay: 5
jenkinslts_app_admin_password_file: "{{ jenkinslts_user_home }}/secrets/initialAdminPassword"

変数の説明:

変数名 説明
jenkinslts_group Jenkinsのオーナーが属するグループ名。Debianベースのシステムでのみ必要です。
jenkinslts_group_desired_state presentは、グループが存在しない場合に作成することを示します。代わりにabsentを使用できます。
jenkinslts_user Jenkinsを所有するユーザー名です。
jenkinslts_user_home 上記で指定したjenkinsユーザーのホームディレクトリ。Jenkinsは通常/var/lib/jenkinsにインストールされるため、推奨されるディレクトリです。
jenkinslts_user_shell jenkinslts_userのシェル。通常はシェルは必要ありませんので、/bin/falseに設定します。
jenkinslts_user_desired_state presentは、ユーザーが存在しない場合に作成することを示します。代わりにabsentを使用できます。
jenkinslts_debian_gpg_key Debianベースのシステムで必要なJenkinsのGPGキーです。
jenkinslts_el_gpg_key ELベースのシステムで必要なJenkinsのGPGキーです。
jenkinslts_repo_debian Debianベースのシステムに追加するリポジトリです。
jenkinslts_repo_debian_filename Debianベースのシステムの/etc/apt/sources.list.d/に保存されるリポジトリファイルの名前。デフォルトはjenkinsです。
jenkinslts_repo_el_name ELベースのシステムのJenkins用リポジトリ名です。
jenkinslts_repo_el_description ELベースのリポジトリファイルに追加される説明です。
jenkinslts_repo_el ELベースのシステム用のJenkinsのリポジトリのbaseurlです。
jenkinslts_repo_el_gpgcheck ELベースのシステムにおけるJenkinsのGPGチェックを行うかどうかの真偽値です。
jenkinslts_repo_desired_state presentは、DebianまたはELベースのシステムにリポジトリファイルが存在しない場合に作成することを示します。代わりにabsentを使用できます(推奨されません)。
jenkinslts_app_name Jenkins LTS(長期サポート)アプリケーションの名前です。
jenkinslts_desired_state Jenkinsパッケージの状態(presentlatest、またはabsent)です。
jenkinslts_default_debain_config_file DebianベースのシステムでのJenkinsのデフォルト設定ファイルです。
jenkinslts_default_el_config_file ELベースのシステムでのJenkinsのデフォルト設定ファイルです。
jenkinslts_app_port Jenkinsが使用するポート番号です。
jenkinslts_app_heapsize_max Jenkinsに割り当てる最大JVMヒープサイズです。
jenkinslts_service_name Jenkinsのデフォルトサービス名です。
jenkinslts_service_desired_state Jenkinsサービスの望ましい状態です。
jenkinslts_service_desired_boot_enabled Jenkinsサービスを有効または無効にするかの望ましい状態です。
jenkinslts_app_check_status_code Jenkinsのインストールおよび再起動後にURLのチェックを行うハンドラの期待されるステータスコードです。200に設定されています。
jenkinslts_app_check_status_code_retries URL curlのリトライ回数。Jenkinsが起動するのに時間がかかることがあるため、10回に設定されています。
jenkinslts_app_check_status_code_delay URL curlのリトライ間隔。5に設定されています。
jenkinslts_app_admin_password_file Jenkins UIのデフォルト管理者パスワードを含むファイルです。

依存関係

JenkinsにはJavaが必要です。

Javaはdarkwizard242.adoptopenjdkロールを使用してインストールできます。

例のプレイブック

Ansibleプレイブックでのロールのデフォルト動作(jenkinsパッケージのインストール)。

- hosts: servers
  roles:
    - darkwizard242.jenkinslts

Ansibleプレイブックでのロールのカスタマイズ(darkwizard242.adoptopenjdkロールをdarkwizard242.jenkinsと一緒にインストール)。

- hosts: servers
  roles:
    - darkwizard242.adoptopenjdk
    - darkwizard242.jenkinslts
  vars:
    adoptopenjdk_app_name: adoptopenjdk-11-hotspot
    adoptopenjdk_desired_state: present
    jenkinslts_desired_state: latest

Ansibleプレイブックでのロールのカスタマイズ(jenkinsパッケージのアンインストール)。

- hosts: servers
  roles:
    - darkwizard242.jenkinslts
  vars:
    jenkinslts_desired_state: absent

ライセンス

MIT

作者情報

このロールはAli Muhammadによって作成されました。

プロジェクトについて

Jenkins LTS version installation on Ubuntu xenial/bionic, Debian stretch and CentOS7.

インストール
ansible-galaxy install darkwizard242.jenkinslts
ライセンス
mit
ダウンロード
4.9k
所有者
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!