将调查变量保存到宿主变量|事实中?

将调查变量保存到宿主变量|事实中?

我有几个 AWX 作业模板/剧本,全部基于这个 ansible 脚本:

https://github.com/spantaleev/matrix-docker-ansible-deploy

我用来部署服务器的初始脚本具有当前在 Inventories > ‘Custom_Inventory’ > HOSTS > ‘My_Domain’ 中定义的变量:

部署服务器作业模板

主机中定义的变量

然后我设置进一步的作业模板来配置该服务的各个部分。

配置服务作业模板

配置调查 1

配置调查 2

它将输入保存在该脚本的“额外变量”中,但我真正需要的是一种保存和汇总这些调查答案的方法。

当我升级服务时(通过再次运行原始剧本),它仅应用预先保存的主机变量,而不是这些调查中输入的任何数据。

我如何保存这些调查变量以便它们可以应用于原始部署/更新脚本?

任何指导/建议都将非常有用,我不知道从哪里开始。:S

答案1

您可以使用 set_facts 和 set_stats 将它们传播到所需的数据集(dict|list)

确保调查键和值在执行过程中保留下来(如果您丢失值,则可以选择步骤)

- set_fact:
        survey_question: survey_ans.value

然后主要步骤是将它们(字典)公开为后续操作的元数据。

- set_stats:
    data:
      survey_question: survey_ans.value

这将在角色/剧本/任务的生命周期中存活下来,然后可以在工作流中使用公开的输出来聚合值作为后续管道的输入。

相关内容