ansible - 当任何一项任务发生更改时,包含循环的任务中的 changed_when 应该为真
问题描述
我正在尝试使用以下任务在 jenkins 中安装插件。它可以正常工作,但我希望任务在安装任何新插件时重新启动 jenkins(即,当任何单个项目任务时changed
)。
插件.txt
git
ssh
ruby
jquery
现在,如果我运行以下任务,输出类似于
[Changed]
[OK]
[Changed]
[OK]
最后不调用重新启动詹金斯的处理程序。即使我[Changed]
在输出中有一个,我也希望调用处理程序。这里,[Changed] 表示安装了新插件,[OK] 表示插件已经存在。
我曾尝试在线查找此任务的逻辑,但到目前为止还没有运气。
- name: Install Jenkins plugins.
vars:
jenkins_plugins: "{{ lookup('file', 'roles/jenkins-docker/templates/plugins.txt') }}"
get_url:
dest: "{{ jenkins_data_dir }}/plugins/{{ item | mandatory }}.jpi"
url: "https://updates.jenkins-ci.org/latest/{{ item }}.hpi"
owner: jenkins
group: jenkins
mode: 0644
validate_certs: no
register: result
# changed_when:
# - '"changed:" in result.stdout'
loop: "{{ lookup('file', 'roles/jenkins-docker/templates/plugins.txt').splitlines() }}"
notify: restart docker-compose-jenkins
tags:
- jenkins
- jenkins-setup-plugins
解决方案
推荐阅读
- java - 如果我们使用令牌,我们是否需要会话
- python-3.x - 将包中的函数应用于Python中的一列
- java - Selenium Webdriver: Compare Driver and Browser Versions
- python - need help figuting out what i did wrong
- postgresql - upsert on table scheme with primary key and unique
- docker - Why does the entrypoint in Docker starts with sh in running jar?
- python-3.x - Method not allow in python3
- java - Replacing URL Character Encodings in Java
- sql-server - 如何连接到本地 SSAS 安装
- java - JPA 查询不会为等效的 MySQL 查询产生相同的结果