mircomasa.jenkins_slave
jenkins-slaveロール
このロールは、新しいJenkinsスレーブノードをセットアップし、Jenkinsマスターに追加します。
要件
- インストール用のAnsibleバージョン: >=2.8
- サポートされているOS
- EL
- 7
- 8
- Amazon Linux 2
- Ubuntu
- xenial
- bionic
- Debian
- stretch
- Windows
- 2016
- 2019
- EL
依存関係
ロール変数
必須
master_username
JenkinsマスターCLIユーザー名。デフォルト値はadmin
です。master_password
JenkinsマスターCLIユーザーパスワード。デフォルト値はadmin
です。master_host
JenkinsマスターのFQDN名またはIPアドレス。デフォルト値は{{ ansible_host }}
です。master_port
JenkinsマスターのHTTPポート。デフォルト値は8080
です。
一般的なデフォルト
slave_agent_name
スレーブノードのエージェント名。デフォルト値はagent
です。slave_executors_num
スレーブノードの実行者数。デフォルト値は1
です。slave_environments
スレーブに設定する環境変数の辞書。デフォルト値は{}
です。slave_mode_exclusive
このノードの使用を設定します。trueの場合、ノードは一致するラベル式のジョブのみをビルドします。デフォルト値はfalse
です。master_url
JenkinsマスターのホストURL。デフォルト値はhttp://{{ master_host }}:{{ master_port }}
です。
Linuxのデフォルト
slave_linux_jenkins_cred_id
Jenkinsマスター上の既存の資格情報ID。デフォルト値はci_slave
です。slave_linux_jenkins_username
slave_linux_jenkins_cred_id
で定義されたユーザー名。スレーブノードにこの名前の新しいユーザーを作成します。デフォルト値はuser
です。slave_linux_jenkins_password
スレーブノードの新しいユーザーのパスワード。この型が「ユーザー名とパスワード」の場合、資格情報のパスワードと一致する必要があります。デフォルト値はpassword
です。slave_linux_jenkins_public_key
authorized_keysスレーブユーザーファイルに追加される公開鍵。型が「SSHユーザー名と秘密鍵」の場合、秘密鍵はJenkinsマスターの資格情報に配置されます。デフォルト値は""
です。slave_linux_home
Jenkinsスレーブバイナリをデプロイするためのホームパス。デフォルト値は/opt/jenkins
です。slave_linux_user_group
スレーブノードの新しいユーザーのグループ。デフォルト値はuser
です。slave_linux_host
Jenkinsスレーブがインストールされるホスト。デフォルト値は"{{ ansible_host }}"
です。slave_linux_ssh_port
スレーブノードのSSHポート。デフォルト値は22
です。slave_linux_selinux_ports
スレーブノードのSELinuxポート。デフォルト値は"{{ master_port }},49187,{{ slave_linux_ssh_port }}"
です。slave_linux_labels
スレーブノードのラベルのリスト。デフォルト値は['linux']
です。
Windowsのデフォルト
slave_windows_workdir
Jenkinsスレーブバイナリをデプロイするためのホームパス。デフォルト値はC:/Jenkins_Slave
です。slave_windows_service
Windowsサービス名。デフォルト値はjenkins-slave
です。slave_windows_java_opts
Javaに渡す追加オプション。デフォルト値は""
です。slave_windows_labels
スレーブノードのラベルのリスト。デフォルト値は['windows']
です。slave_windows_service_user
サービスを起動するためのユーザー名。slave_windows_service_password
サービスを起動するための指定されたユーザーのパスワード。
例のプレイブック
- name: "デフォルトの「ユーザー名とパスワード」資格情報を使用してリモートホストにjenkins-slaveをインストール"
hosts: slave
vars:
master_host: master.example.com
roles:
- role: lean_delivery.jenkins_slave
- name: "作成された「ユーザー名とパスワード」資格情報を使用してリモートホストにjenkins-slaveをインストール"
hosts: one_slave
vars:
master_host: master.example.com
slave_linux_jenkins_cred_id: new_cred
slave_linux_jenkins_username: new_user
slave_linux_jenkins_password: new_password
slave_agent_name: new_linux_slave
roles:
- role: lean_delivery.jenkins_slave
- name: "作成された「SSHユーザー名と秘密鍵」資格情報を使用してリモートホストにjenkins-slaveをインストール"
hosts: many_slaves
vars:
master_host: master.example.com
slave_linux_jenkins_cred_id: new_cred
slave_linux_jenkins_username: new_user
slave_linux_jenkins_public_key:
Nck6x4HPrsdfkjhwhf98239hfoijhpowifnYXRXAW1GYGC3lsq7FpWjCeN8wT5QzRsblTh6HZKqh96K3Jj6kpob8ykjhsdkfjhskdfuhksdjfhksjdfhksfjhhkjhUHKUHDKFksjdfhkjshdfXPlx2xSUINDsH2IACLjIrxSAppxITzR7fHZyLmkjsdhfkuwhe98237982fhksdfhksdfhkuhCmcvH6fdVtozo42lXt4QgKytGtiuGAT+lN+uJ4LVGOq32WiEbYKbc7WE7N
roles:
- role: lean_delivery.jenkins_slave
インベントリ例
[master]
master.example.com
[one_slave]
slave.example.com
[many_slaves]
slave1.example.com slave_agent_name=slave1
slave2.example.com slave_agent_name=slave2
ライセンス
著者情報
著者:
- Lean Delivery Team team@lean-delivery.com