Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables 如何在ansible playbook中为变量添加多个值?_Variables_Ansible_Ansible Playbook - Fatal编程技术网

Variables 如何在ansible playbook中为变量添加多个值?

Variables 如何在ansible playbook中为变量添加多个值?,variables,ansible,ansible-playbook,Variables,Ansible,Ansible Playbook,我在我的剧本中定义了一个变量值,如下所示: war_name: abc 我在角色中称这个战争的名字为: - name: Download war file get_url: url=http://url/directory/packages/tomcat/{{ war_name }}.war 现在的问题是我必须给playbook中的变量war_name分配2个值 像 我如何在我的剧本中做到这一点 如果与以下项目一起使用: - name: Download war file

我在我的剧本中定义了一个变量值,如下所示:

 war_name: abc
我在角色中称这个战争的名字为:

- name: Download war file
   get_url:
    url=http://url/directory/packages/tomcat/{{ war_name }}.war
现在的问题是我必须给playbook中的变量war_name分配2个值 像

我如何在我的剧本中做到这一点

如果与以下项目一起使用:

- name: Download war file
       get_url:
        url=http://url/directory/packages/tomcat/{{ item }}.war
   with_items:
     - abc
     - xyz
   when: "'server' in app_name"
它会导致以下错误:

任务[tomcat:下载war文件] **********************************************失败:[10.x.x.x](item=abc)=>{“failed”:true,“item”:“abc”,“msg”:“缺少必填项” 参数:dest“}失败:[10.x.x.x](item=xyz)=>{“失败”:true, “项”:“xyz”,“消息”:“缺少必需参数:dest”}


你能做的就是这样

war_name:
  war1: one
  war2: two

这基本上是一本字典。虽然我不知道你到底想在这里做什么?我猜你想在同一个地点用不同的名字打两场战争,如果是这样的话,你可以对物品使用
你能做的就是这样

war_name:
  war1: one
  war2: two

这基本上是一本字典。虽然我不知道你到底想在这里做什么?我猜您希望在同一位置放置两个不同名称的WAR,如果是这种情况,您实际上可以将
与\u项一起使用

您缺少
get\u url
所需的
dest
参数

以下是任务的修改版本:

- name: Download war file
  get_url:
    url: "http://url/directory/packages/tomcat/{{ item }}.war"
    dest: "/path-where-you-want-to-place/{{ item }}"
  with_items:
    - abc
    - xyz
  when: "'server' in app_name"

希望对您有所帮助

您缺少
get\u url
所需的
dest
参数

以下是任务的修改版本:

- name: Download war file
  get_url:
    url: "http://url/directory/packages/tomcat/{{ item }}.war"
    dest: "/path-where-you-want-to-place/{{ item }}"
  with_items:
    - abc
    - xyz
  when: "'server' in app_name"

希望能对您有所帮助

是的,我想在同一位置使用两个war,我不能使用两个不同的名称,因为我的另一个剧本也使用相同的角色,并且只有一个值分配给变量war_name。。我与_items一起使用的代码是:url={{item}}。与_items的战争:-abc-xyz但是这不起作用,你有代码可以与“with_items”一起使用吗?它会引发什么错误?你可以用错误或“未更改”的内容更新问题吗?是的,我想在同一个位置使用两个战争,我不能使用两个不同的名称,因为我的另一个剧本也使用相同的角色,并且只有一个值分配给变量war\u name。。我与_items一起使用的代码是:url={{item}}。与_items的战争:-abc-xyz但是这不起作用,你有代码可以与“with_items”一起使用吗?它会引发什么错误?你能用错误或“未更改”的内容更新问题吗?确切地说,get_url需要
dest
来放置文件,这是我这边犯的一个愚蠢的错误..谢谢工作人员..)没错,get_url需要
dest
来放置文件,这是我这边犯的一个愚蠢的错误。。谢谢你们的努力。)