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_usernameJenkinsマスターCLIユーザー名。デフォルト値はadminです。master_passwordJenkinsマスターCLIユーザーパスワード。デフォルト値はadminです。master_hostJenkinsマスターのFQDN名またはIPアドレス。デフォルト値は{{ ansible_host }}です。master_portJenkinsマスターのHTTPポート。デフォルト値は8080です。
一般的なデフォルト
slave_agent_nameスレーブノードのエージェント名。デフォルト値はagentです。slave_executors_numスレーブノードの実行者数。デフォルト値は1です。slave_environmentsスレーブに設定する環境変数の辞書。デフォルト値は{}です。slave_mode_exclusiveこのノードの使用を設定します。trueの場合、ノードは一致するラベル式のジョブのみをビルドします。デフォルト値はfalseです。master_urlJenkinsマスターのホストURL。デフォルト値はhttp://{{ master_host }}:{{ master_port }}です。
Linuxのデフォルト
slave_linux_jenkins_cred_idJenkinsマスター上の既存の資格情報ID。デフォルト値はci_slaveです。slave_linux_jenkins_usernameslave_linux_jenkins_cred_idで定義されたユーザー名。スレーブノードにこの名前の新しいユーザーを作成します。デフォルト値はuserです。slave_linux_jenkins_passwordスレーブノードの新しいユーザーのパスワード。この型が「ユーザー名とパスワード」の場合、資格情報のパスワードと一致する必要があります。デフォルト値はpasswordです。slave_linux_jenkins_public_keyauthorized_keysスレーブユーザーファイルに追加される公開鍵。型が「SSHユーザー名と秘密鍵」の場合、秘密鍵はJenkinsマスターの資格情報に配置されます。デフォルト値は""です。slave_linux_homeJenkinsスレーブバイナリをデプロイするためのホームパス。デフォルト値は/opt/jenkinsです。slave_linux_user_groupスレーブノードの新しいユーザーのグループ。デフォルト値はuserです。slave_linux_hostJenkinsスレーブがインストールされるホスト。デフォルト値は"{{ 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_workdirJenkinsスレーブバイナリをデプロイするためのホームパス。デフォルト値はC:/Jenkins_Slaveです。slave_windows_serviceWindowsサービス名。デフォルト値はjenkins-slaveです。slave_windows_java_optsJavaに渡す追加オプション。デフォルト値は""です。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
