如何获取ansible清单文件名作为变量

how to get ansible inventory file name as a variable

我有一个情况,其中三个 Jenkins 作业 运行 使用 ansible 进行部署。此作业使用自己的清单文件,如 /opt/abc/ci1.inventory、/opt/abc/ci2.inventory、/opt/abc/ci3.inventory 等。例如,如果第一个 jenkins 作业是 运行,它将使用 /opt/abc/ci1.库存文件。

我有一个 ansible 模板,其中有一个变量 "jenkins_ci_job",我想根据 jenkins 作业 运行 为其分配一个值。例如,如果作业 1 是 运行,那么它会将值 "ci1" 分配给 "jenkins_ci_job" 变量。我看到的唯一方法是获取清单文件名并搜索它是否包含作业名称。

所以我正在寻找这样的东西

 jenkins_ci_job:
    "{{ 'ci1' if <ansible_inventory_full_path_name> contains 'ci1' else 'ci2' if <ansible_inventory_full_path_name> contains 'ci2 else 'ci3' }}"

我在找inventory_file

所以实际的变量就像

jenkins_ci_job: "{{ 'ci1' if (inventory_file | regex_search('(ci1)') == 'ci1') else 'ci2' }}"