Ansible Vault - 用于生产和测试的相同 Git 回购

Ansible Vault - Same Git repo for Prod & Test

对冗长表示歉意post。我是 Ansible 和 Vault 的新手(<2 个月)。

环境:

最终目标

基本设置(当前):

当前问题

想解决:

从我的角度来看,这是一个丑陋的解决方案,但必须是一个更好的解决方案。

我想知道业内其他人正在为同样的问题做些什么。这不是唯一的问题,并且肯定有针对这种情况的最佳做法。

谢谢

由于您需要基于环境的不同变量(保管库机密只是另一个变量),因此您可以为每个环境使用单独的清单,请参阅 https://docs.ansible.com/ansible/2.8/user_guide/playbooks_best_practices.html#alternative-directory-layout。然后,例如,inventories/prod/group_vars/all.yml 将具有 prod 个保管库机密...您可以使用 ansible -i inventories/prod ....

明确指定每个清单

在此清单布局中,您可以使用符号链接在环境之间共享一个变量文件,例如。 inventories/prod/group_vars/all/010_cross_env_vars.yml 将是 ../../../010_cross_env_vars.yml 的符号链接,因此指向位于每个环境子目录的父目录中的变量文件,即。 inventories/010_cross_env_vars.yaml.