Jenkins插件通过Ansible不稳定安装,Ansible表示成功,但不执行任何操作

时间:2019-08-12 11:12:28

标签: jenkins ansible jenkins-plugins

我的可笑剧本正在经历一种奇怪的行为。我正在通过YUM安装jenkins服务器,并在atferwards处添加一些插件。

我的剧本基本上可以正常工作,但是大多数时候我在插件安装方面遇到问题。 Ansible表示正在安装插件,但是目录仍然完全为空,并且jenkins日志没有显示任何实际安装插件的迹象(通常jenkins会记录每个插件的安装情况)。

剧本的Ansible输出

TASK [Install Plugins on behalf of jenkins user <THE_ADMIN_USER>] ****************************
task path: /home/pd03056a/ansible-playbooks/tasks/install-plugins-master.yml:2
changed: [<SERVERNAME>] => (item={u'key': u'ace-editor'}) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "item": {"key": "ace-editor"}, "plugin": "ace-editor", "state": "present"}
changed: [<SERVERNAME>] => (item={u'key': u'active-directory'}) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "item": {"key": "active-directory"}, "plugin": "active-directory", "state": "present"}
changed: [<SERVERNAME>] => (item={u'key': u'ant'}) => {"ansible_loop_var": "item", "attempts": 1, "changed": true, "item": {"key": "ant"}, "plugin": "ant", "state": "present"}
...

我的任务看起来像这样:

# Jenkins master: install plugins
- name: Install Plugins on behalf of jenkins user {{jenkins_admin_user}} (Servername = {{ inventory_hostname_short }})
  jenkins_plugin:
    name: "{{ item.key }}"
    url: "http://{{ inventory_hostname_short }}:8080"
    url_username: "{{jenkins_admin_user}}"
    url_password: "{{jenkins_admin_pass}}"
  environment:
    http_proxy: "http://{{proxy_user}}:{{proxy_pass}}@<THE_SERVER>:80"
    https_proxy: "http://{{proxy_user}}:{{proxy_pass}}@<THE_SERVER>:80"
  register: plugin_result
  until: plugin_result is success
  retries: 10
  delay: 2
  with_items: # no version = latest
    - { key: "ace-editor"}
    - { key: "active-directory"}
    - { key: "ant"}
    - { key: "..."}

运行剧本后目录的内容:

$ ls -al /var/lib/jenkins/plugins/
drwxr-xr-x  2 jenkins jenkins 4096 Aug 12 12:54 .
drwxr-xr-x 11 jenkins jenkins 4096 Aug 12 12:57 ..

目录完全为空...每次尝试后我都完全删除了/ var / lib / jenkins,因此硬盘上(rm -rf /var/lib/jenkins)上没有任何旧内容。我也对这个提示性消息感到困惑。对于每个插件,它说“已更改”。但是,在某些内容被完全删除后如何更改?我希望有些事情类似于“创建的”或“添加的”。

然后每隔一段时间(通常是在等待一段时间后),剧本在没有明显原因的情况下可以与所有插件完美配合。也许在ansible内部存在某种缓存导致此行为?我很感谢任何提示。谢谢大家和最诚挚的问候。塞巴斯蒂安

0 个答案:

没有答案