Ansible 语法 - 校验和部署

Ansible Syntax - Checksum deployments

我正在编写一个脚本,允许我的部署 return 用于 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

如有任何帮助,我们将不胜感激。非常感谢!

你的 match( 没有被 )

终止