我正在编写一个脚本,允许我的部署返回nexus工件部署的校验和。 when:
条件下的所有内容都是脚本的新内容。这里没有定义变量,例如checksum
,但我在其上放置了一个默认过滤器,以便Ansible在找不到值时仍然可以使用变量。
with_indexed_items: app_deployments.keys()|sort
when: |
deploy_results.results[item.0].md5sum|d().local|d()|match(nx_app_deployments[item.1].checksum|d(deploy_results.results[item.0].md5sum)
不幸的是,我一直受到这个错误的影响(很可能是由于语法原因)。
Error: TASK: [nexusArtifacts | STAGE | Stage deployments] ****************************
fatal: [ari001-app1] => Failed to template {% if deploy_results.results[item.0].md5sum|d().local|d()|match(nx_app_deployments[i tem.1].checksum|d(deploy_results.results[item.0].md5sum) and
stageNexus|d()|bool and
app_deployments[item.1].name is defined and
app_deployments[item.1].active|d(1)|bool and
deploy_toggles|d({})[item.1]|d(1)|bool and
(item in eapDeployList|d(item.1) or 'all' in eapDeployList|d(item)) and
(app != 'springBatch' or
item in sbDeployList|d(item.1)|listParse) and
item in key_list|d([item.1])
%} True {% else %} False {% endif %}: template error while templating string: unexpected "}", expected ")"
FATAL: all hosts have already failed -- aborting
对此的任何帮助将不胜感激。非常感谢!
答案 0 :(得分:0)
match(
)