【问题标题】:Declare and use variable in YAML (Percy.io)在 YAML (Percy.io) 中声明和使用变量
【发布时间】:2021-07-14 12:10:34
【问题描述】:

您好,我有一个如下所示的 YAML 文件 -

- name: Name 1
  url: http://localhost:8080/page1
- name: Name 2
  url: http://localhost:8080/page2
- name: Name 3
  url: http://localhost:8080/page3

如您所见,http://localhost:8080/url 属性的公共部分。 有没有办法声明像hostname 这样的变量并在文件中重用它?

我浏览了this doc 并尝试了以下方法,但它不起作用 -

- hostname: "{{http://localhost:8080}}"
- name: Name 1
  url: {{hostname}}/page1
- name: Name 2
  url: {{hostname}}/page2
- name: Name 3
  url: {{hostname}}/page3

但这不起作用。救命!

【问题讨论】:

    标签: ansible yaml percy


    【解决方案1】:

    例如,剧本

    - hosts: localhost
      vars:
        hostname: "http://localhost:8080"
        l1:
          - name: Name 1
            url: "{{ hostname }}/page1"
          - name: Name 2
            url: "{{ hostname }}/page2"
          - name: Name 3
            url: "{{ hostname }}/page3"
      tasks:
        - debug:
            var: l1
    

    给予

    ok: [localhost] => 
      l1:
      - name: Name 1
        url: http://localhost:8080/page1
      - name: Name 2
        url: http://localhost:8080/page2
      - name: Name 3
        url: http://localhost:8080/page3
    

    当您将列表中的项目放入文件时,例如

    shell> cat name-url.yml
    - name: Name 1
      url: "{{ hostname }}/page1"
    - name: Name 2
      url: "{{ hostname }}/page2"
    - name: Name 3
      url: "{{ hostname }}/page3"
    

    使用lookup插件模板并将YAML字符串转换为列表,例如下面的剧本给出了相同的结果

    - hosts: localhost
      vars:
        hostname: "http://localhost:8080"
      tasks:
        - set_fact:
            l1: "{{ lookup('template', 'name-url.yml')|from_yaml }}"
        - debug:
            var: l1
    

    【讨论】:

      【解决方案2】:

      我想把这个建议扔进去,看起来你是在为你正在创建快照的网站的基本 URL 做这个。您可以将--base-url 标志传递给snapshot 命令:

      $ npx percy snapshot --base-url http://localhost:8080 snapshots.yml
      

      snapshots.yml 可能是:

      - name: Name 1
        url: /page1
      - name: Name 2
        url: /page2
      - name: Name 3
        url: /page3
      
      ## or
      
      - url: /page1
      - url: /page2
      - url: /page3
      

      Relevant Percy CLI PR

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-09-04
        • 2023-03-11
        • 2013-07-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-07
        相关资源
        最近更新 更多