由于JOB_NAME在Jenkins作业中可用作变量。
我希望在JOB_NAME变量
中有某个字符串时选择一个特定变量所以基于不同的jenkins工作,我可以注册不同的变量。
我在group_vars中尝试以下内容,不确定它是否可行。
command: echo "{{ lookup('env','JOB_NAME') }}"
register: jenkins_job_name
when: installation in jenkins_job_name
- topology: topology-02
答案 0 :(得分:1)
您可以在群组变量中的某个位置定义可用拓扑的列表,然后根据set_fact
值选择JOB_NAME
之一。
例如:
- hosts: localhost
gather_facts: no
vars:
topologies:
prod: foo
dev: bar
tasks:
- set_fact: topology="{{ topologies[lookup('env','JOB_NAME')] | default('unknown') }}"
- debug: var=topology
这将设置:
topology=foo
if JOB_NAME=prod
topology=bar
if JOB_NAME=dev
topology=unknown
否则您可能拥有复杂的拓扑配置对象,而不是简单的foo
/ bar
字符串。