我有一些战争文件,这些文件是从nexus下载的,并在我的远程主机上创建相应的应用程序文件夹并复制文件。现在有2个文件的名称与war文件不同,但需要创建一个具有不同名称的目录。我现在正在做的是-
- name: Ensuring the web deployment folder is created on tomcat nodes for each web application
file:
path: "{{tomcat_server_release_location}}/Release{{my_release_version}}/{{item}}"
state: directory
mode: 0777
with_items:
- "{{ apps }}"
- name: Copying the release from Admin server to tomcat nodes
copy: src={{admin_server_release_location}}/{{my_release_version}}/{{item}}-{{my_release_version}}.war dest={{tomcat_server_release_location}}/Release{{my_release_version}}/{{item}}
with_items:
- "{{ apps }}"
apps变量的定义如下-webapps:['test1','test2','test3','test4']。现在,test2在其名称为test2-web.war的关系上有一个不同的名称,但是在远程节点上,我必须创建一个名为test2的文件夹,并在其中复制war文件。
是否有一种方法可以在Playbook运行时通过使用某些条件或其他任何方法来覆盖某些变量
如果要在运行时覆盖,请使用额外的变量。来自文档--extra-vars“ version = 1.23.45”
如果知道特定主机应始终被覆盖,请不要使用条件。我认为将其作为主机变量是最好的。
主持人:myhost:应用:-测试1-trst2
请参阅https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html#variable-precedence-where-should-i-put-a-variable以了解您可以放置变量的所有不同位置以及如何确定将要使用的位置