From b780a18edc2296f746dca9be3f301b827d8f8282 Mon Sep 17 00:00:00 2001 From: Alexandre Chaussier Date: Tue, 15 Mar 2016 23:21:30 +0100 Subject: [PATCH] Fix cli authentication problem --- library/enable_jenkins_plugin.py | 9 +- library/get_jenkins_plugins.py | 9 +- library/get_plugin_dependencies.py | 9 +- library/install_jenkins_plugin.py | 9 +- library/manage_jenkins_credentials.py | 9 +- library/manage_jenkins_location_settings.py | 9 +- library/manage_jenkins_main_configuration.py | 12 ++- ...nkins_plugin_debian_package_builder_gpg.py | 9 +- ...kins_plugin_debian_package_builder_repo.py | 9 +- .../manage_jenkins_plugin_docker_clouds.py | 9 +- library/manage_jenkins_plugin_git.py | 9 +- library/manage_jenkins_plugin_github.py | 9 +- library/manage_jenkins_plugin_gitlab.py | 9 +- library/manage_jenkins_plugin_hipchat.py | 9 +- ...ge_jenkins_plugin_hipchat_notifications.py | 9 +- library/manage_jenkins_plugin_mailer.py | 9 +- library/manage_jenkins_users_and_security.py | 24 ++++-- library/remove_jenkins_credentials.groovy | 7 +- ...ove_jenkins_debian_package_builder_repo.py | 7 +- library/remove_jenkins_github_servers.py | 7 +- tasks/main.yml | 19 ++++- tasks/manage_configuration.yml | 14 ---- tasks/manage_main_config.yml | 82 ++++++++++++------- 23 files changed, 219 insertions(+), 88 deletions(-) delete mode 100644 tasks/manage_configuration.yml diff --git a/library/enable_jenkins_plugin.py b/library/enable_jenkins_plugin.py index 38f7177..0ee82b1 100644 --- a/library/enable_jenkins_plugin.py +++ b/library/enable_jenkins_plugin.py @@ -13,6 +13,10 @@ def main(): name=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -32,8 +36,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s %s" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s %s" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, module.params['name'])) if (rc != 0): diff --git a/library/get_jenkins_plugins.py b/library/get_jenkins_plugins.py index da45b60..8bc1466 100644 --- a/library/get_jenkins_plugins.py +++ b/library/get_jenkins_plugins.py @@ -9,6 +9,10 @@ def main(): module = AnsibleModule( argument_spec=dict( + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -26,12 +30,13 @@ def main(): jenkins_cli_path = module.params['cli_path'] jenkins_url = module.params['url'] + deployment_ssh_key = module.params['deployment_ssh_key'] script = "%s/%s.groovy" % (module.params['groovy_scripts_path'], basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s" % - (jenkins_cli_path, jenkins_url, script)) + "java -jar %s -s '%s' -i '%s' groovy %s" % + (jenkins_cli_path, jenkins_url, deployment_ssh_key, script)) if (rc != 0): module.fail_json(msg=stderr) diff --git a/library/get_plugin_dependencies.py b/library/get_plugin_dependencies.py index da62434..786ea7b 100644 --- a/library/get_plugin_dependencies.py +++ b/library/get_plugin_dependencies.py @@ -13,6 +13,10 @@ def main(): name=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -32,8 +36,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s %s" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s %s" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, module.params['name'])) if (rc != 0): diff --git a/library/install_jenkins_plugin.py b/library/install_jenkins_plugin.py index 36add6e..edffeb0 100644 --- a/library/install_jenkins_plugin.py +++ b/library/install_jenkins_plugin.py @@ -13,6 +13,10 @@ def main(): name=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -37,8 +41,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s %s %s" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s %s %s" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, module.params['name'], module.params['state'])) if (rc != 0): diff --git a/library/manage_jenkins_credentials.py b/library/manage_jenkins_credentials.py index 6a5d46c..16b3690 100644 --- a/library/manage_jenkins_credentials.py +++ b/library/manage_jenkins_credentials.py @@ -51,6 +51,10 @@ def main(): text=dict( type='str', required=False), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -70,8 +74,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_location_settings.py b/library/manage_jenkins_location_settings.py index a15867f..f8baf7c 100644 --- a/library/manage_jenkins_location_settings.py +++ b/library/manage_jenkins_location_settings.py @@ -19,6 +19,10 @@ def main(): jenkins_url=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -38,8 +42,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s' '%s' '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s' '%s' '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, module.params['full_name'], module.params['email'], module.params['jenkins_url'])) diff --git a/library/manage_jenkins_main_configuration.py b/library/manage_jenkins_main_configuration.py index 6c1e448..ac986b8 100644 --- a/library/manage_jenkins_main_configuration.py +++ b/library/manage_jenkins_main_configuration.py @@ -31,7 +31,10 @@ slave_agent_port=dict( type='int', required=True), - + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -55,9 +58,10 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, - json.dumps(module.params))) + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, + json.dumps(module.params))) if (rc != 0): module.fail_json(msg=stderr) diff --git a/library/manage_jenkins_plugin_debian_package_builder_gpg.py b/library/manage_jenkins_plugin_debian_package_builder_gpg.py index 85cf1ff..00f952e 100644 --- a/library/manage_jenkins_plugin_debian_package_builder_gpg.py +++ b/library/manage_jenkins_plugin_debian_package_builder_gpg.py @@ -25,6 +25,10 @@ def main(): passphrase=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -44,8 +48,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_debian_package_builder_repo.py b/library/manage_jenkins_plugin_debian_package_builder_repo.py index 110e356..1483a38 100644 --- a/library/manage_jenkins_plugin_debian_package_builder_repo.py +++ b/library/manage_jenkins_plugin_debian_package_builder_repo.py @@ -38,6 +38,10 @@ def main(): required=False, default='present', choice=['present', 'absent']), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -57,8 +61,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_docker_clouds.py b/library/manage_jenkins_plugin_docker_clouds.py index ba74f45..88d8308 100644 --- a/library/manage_jenkins_plugin_docker_clouds.py +++ b/library/manage_jenkins_plugin_docker_clouds.py @@ -36,6 +36,10 @@ def main(): required=False, default='present', choice=['present', 'absent']), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -55,8 +59,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_git.py b/library/manage_jenkins_plugin_git.py index 160fd58..d188f6d 100644 --- a/library/manage_jenkins_plugin_git.py +++ b/library/manage_jenkins_plugin_git.py @@ -19,6 +19,10 @@ def main(): create_accounts=dict( type='bool', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -38,8 +42,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s' '%s' '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s' '%s' '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, module.params['full_name'], module.params['email'], module.params['create_accounts'])) diff --git a/library/manage_jenkins_plugin_github.py b/library/manage_jenkins_plugin_github.py index 226df13..1116685 100644 --- a/library/manage_jenkins_plugin_github.py +++ b/library/manage_jenkins_plugin_github.py @@ -25,6 +25,10 @@ def main(): type='int', required=False, default=20), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -44,8 +48,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_gitlab.py b/library/manage_jenkins_plugin_gitlab.py index e61da21..82257a3 100644 --- a/library/manage_jenkins_plugin_gitlab.py +++ b/library/manage_jenkins_plugin_gitlab.py @@ -20,6 +20,10 @@ def main(): type='bool', required=False, default=False), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -39,8 +43,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_hipchat.py b/library/manage_jenkins_plugin_hipchat.py index f576133..f4bacf3 100644 --- a/library/manage_jenkins_plugin_hipchat.py +++ b/library/manage_jenkins_plugin_hipchat.py @@ -27,6 +27,10 @@ def main(): send_as=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -46,8 +50,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_hipchat_notifications.py b/library/manage_jenkins_plugin_hipchat_notifications.py index 1fb9b0a..74e6b22 100644 --- a/library/manage_jenkins_plugin_hipchat_notifications.py +++ b/library/manage_jenkins_plugin_hipchat_notifications.py @@ -38,6 +38,10 @@ def main(): required=False, choices=['present', 'absent'], default='present'), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -57,8 +61,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_plugin_mailer.py b/library/manage_jenkins_plugin_mailer.py index d05acd7..8d45a4c 100644 --- a/library/manage_jenkins_plugin_mailer.py +++ b/library/manage_jenkins_plugin_mailer.py @@ -38,6 +38,10 @@ def main(): type='bool', required=False, default=False), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -57,8 +61,9 @@ def main(): basename(__file__)) rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/manage_jenkins_users_and_security.py b/library/manage_jenkins_users_and_security.py index 7fbe151..8a074c9 100644 --- a/library/manage_jenkins_users_and_security.py +++ b/library/manage_jenkins_users_and_security.py @@ -16,7 +16,14 @@ authorization_strategy=dict( type='dict', required=True), - + use_private_key=dict( + type='bool', + required=False, + default=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -39,10 +46,17 @@ def main(): script = "%s/%s.groovy" % (module.params['groovy_scripts_path'], basename(__file__)) - rc, stdout, stderr = module.run_command( - "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, - json.dumps(module.params))) + if (module.params['use_private_key']): + rc, stdout, stderr = module.run_command( + "java -jar %s -s '%s' -i '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, + json.dumps(module.params))) + else: + rc, stdout, stderr = module.run_command( + "java -jar %s -s '%s' groovy %s '%s'" % + (module.params['cli_path'], module.params['url'], script, + json.dumps(module.params))) if (rc != 0): module.fail_json(msg=stderr) diff --git a/library/remove_jenkins_credentials.groovy b/library/remove_jenkins_credentials.groovy index 9d05460..f92e8cd 100644 --- a/library/remove_jenkins_credentials.groovy +++ b/library/remove_jenkins_credentials.groovy @@ -13,6 +13,10 @@ def main(): credentials_domain=dict( type='str', required=True), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -33,7 +37,8 @@ def main(): rc, stdout, stderr = module.run_command( "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, module.params['credentials_domain'])) if (rc != 0): diff --git a/library/remove_jenkins_debian_package_builder_repo.py b/library/remove_jenkins_debian_package_builder_repo.py index 755c1df..7a45ab9 100644 --- a/library/remove_jenkins_debian_package_builder_repo.py +++ b/library/remove_jenkins_debian_package_builder_repo.py @@ -13,6 +13,10 @@ def main(): do_task=dict( type='bool', required=False), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -33,7 +37,8 @@ def main(): rc, stdout, stderr = module.run_command( "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/library/remove_jenkins_github_servers.py b/library/remove_jenkins_github_servers.py index 755c1df..7a45ab9 100644 --- a/library/remove_jenkins_github_servers.py +++ b/library/remove_jenkins_github_servers.py @@ -13,6 +13,10 @@ def main(): do_task=dict( type='bool', required=False), + deployment_ssh_key=dict( + type='str', + required=False, + default='/var/lib/jenkins/.ssh/id_rsa'), cli_path=dict( type='str', required=False, @@ -33,7 +37,8 @@ def main(): rc, stdout, stderr = module.run_command( "java -jar %s -s '%s' groovy %s '%s'" % - (module.params['cli_path'], module.params['url'], script, + (module.params['cli_path'], module.params['url'], + module.params['deployment_ssh_key'], script, json.dumps(module.params))) if (rc != 0): diff --git a/tasks/main.yml b/tasks/main.yml index 5cf35f9..931f1fe 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -48,15 +48,28 @@ - configure - jenkins +- name: Include groovy main configuration + include: "{{ role_path }}/tasks/manage_main_config.yml" + tags: + - configure + - jenkins + - name : Manage plugins installations and upgrades include: "{{ role_path }}/tasks/manage_plugins.yml" tags: - jenkins - install -- name : Configure Jenkins application and its plugins - include : "{{ role_path }}/tasks/manage_configuration.yml" - tags : +- name: Manage jenkins credentials + include: "{{ role_path }}/tasks/manage_credentials.yml" + tags: + - configure - jenkins + +- name: Include groovy plugins configuration + include: "{{ role_path }}/tasks/manage_plugins_config.yml" + when: jenkins_plugins + tags: - configure + - jenkins diff --git a/tasks/manage_configuration.yml b/tasks/manage_configuration.yml deleted file mode 100644 index 61d25e8..0000000 --- a/tasks/manage_configuration.yml +++ /dev/null @@ -1,14 +0,0 @@ ---- - -# Tasks about config - -- name: Manage jenkins credentials - include: "{{ role_path }}/tasks/manage_credentials.yml" - -- name: Include groovy main configuration - include: "{{ role_path }}/tasks/manage_main_config.yml" - -- name: Include groovy plugins configuration - include: "{{ role_path }}/tasks/manage_plugins_config.yml" - when: jenkins_plugins - diff --git a/tasks/manage_main_config.yml b/tasks/manage_main_config.yml index b052d2c..8635798 100644 --- a/tasks/manage_main_config.yml +++ b/tasks/manage_main_config.yml @@ -2,37 +2,29 @@ # Tasks about Jenkins main configuration management -- name: Manage main configuration with new settings - become : True - become_user : "{{ jenkins_etc_user }}" - manage_jenkins_main_configuration: - disable_remember_me: "{{ jenkins_config_disable_remember_me }}" - label: "{{ jenkins_config_label }}" - mode: "{{ jenkins_config_mode }}" - number_of_executors: "{{ jenkins_config_num_executors }}" - project_naming_strategy: - pattern: "{{ jenkins_config_project_naming_strategy.pattern }}" - description: "{{ jenkins_config_project_naming_strategy.description }}" - force: "{{ jenkins_config_project_naming_strategy.force }}" - quiet_period: "{{ jenkins_config_quiet_period }}" - scm_checkout_retry_count: "{{ jenkins_config_scm_checkout_retry_count }}" - slave_agent_port: "{{ jenkins_config_slave_agent_port }}" - register: jenkins_change_main_configuration - -- name: Manage administrator email address +# Manage deployment user configuration, without key for the first use +- name: Manage deployment user configuration without using private key become: True become_user : "{{ jenkins_etc_user }}" - manage_jenkins_location_settings: - email: "{{ jenkins_location_administrator_email }}" - full_name: "{{ jenkins_location_administrator_full_name }}" - jenkins_url: "{{ jenkins_location_url }}" - register: jenkins_change_administrator_email_address - when: - - jenkins_location_administrator_email != '' - - jenkins_location_administrator_full_name != '' - - jenkins_location_url != '' + manage_jenkins_users_and_security: + user: "{{ item }}" + security_realm: "{{ jenkins_security_realm }}" + authorization_strategy: "{{ jenkins_authorization_strategy }}" + use_private_key: False + register: jenkins_change_deployment_user_without_ssh_key + ignore_errors: True + with_items: + - username: "{{ jenkins_deployment_user.username }}" + full_name: "{{ jenkins_deployment_user.full_name }}" + email: "{{ jenkins_deployment_user.email }}" + password: "{{ jenkins_deployment_user.password }}" + roles: + - 'jenkins-administer' + public_keys: + - "{{ jenkins_user_ssh_public_key.stdout }}" + when: jenkins_manage_users_and_security -- name: Manage deployment user configuration +- name: Manage deployment user configuration using private key become: True become_user : "{{ jenkins_etc_user }}" manage_jenkins_users_and_security: @@ -49,7 +41,9 @@ - 'jenkins-administer' public_keys: - "{{ jenkins_user_ssh_public_key.stdout }}" - when: jenkins_manage_users_and_security + when: + - jenkins_manage_users_and_security + - jenkins_change_deployment_user_without_ssh_key | failed - name: Manage users and security become: True @@ -62,3 +56,33 @@ with_items: "{{ jenkins_users }}" when: jenkins_manage_users_and_security +- name: Manage main configuration with new settings + become : True + become_user : "{{ jenkins_etc_user }}" + manage_jenkins_main_configuration: + disable_remember_me: "{{ jenkins_config_disable_remember_me }}" + label: "{{ jenkins_config_label }}" + mode: "{{ jenkins_config_mode }}" + number_of_executors: "{{ jenkins_config_num_executors }}" + project_naming_strategy: + pattern: "{{ jenkins_config_project_naming_strategy.pattern }}" + description: "{{ jenkins_config_project_naming_strategy.description }}" + force: "{{ jenkins_config_project_naming_strategy.force }}" + quiet_period: "{{ jenkins_config_quiet_period }}" + scm_checkout_retry_count: "{{ jenkins_config_scm_checkout_retry_count }}" + slave_agent_port: "{{ jenkins_config_slave_agent_port }}" + register: jenkins_change_main_configuration + +- name: Manage administrator email address + become: True + become_user : "{{ jenkins_etc_user }}" + manage_jenkins_location_settings: + email: "{{ jenkins_location_administrator_email }}" + full_name: "{{ jenkins_location_administrator_full_name }}" + jenkins_url: "{{ jenkins_location_url }}" + register: jenkins_change_administrator_email_address + when: + - jenkins_location_administrator_email != '' + - jenkins_location_administrator_full_name != '' + - jenkins_location_url != '' +