有条件地在Ansible中安装软件包

时间:2016-04-05 19:18:02

标签: jenkins ansible packer

这是我最终要努力实现的目标。我希望AWS中的分层AMI系统具有Foundation-> Base-> Specialized Base-> Application。

我希望尽可能多地将这些配置烘焙到这些AMI中。我用来完成这个的工具是Jenkins,Packer和Ansible。

我遇到的问题是我希望ansible只在为生产设置的实例上安装某些软件包。我最初认为我可以做这样的事情

{ role: <<package_name>>, when: "{{ lookup('env', 'PROD') }}"  }

但是,这是在主机而不是AWS目标上。我正在尝试重新评估我的流程,并希望看看是否有人对如何限制某些软件包安装到某些机器有更好的建议。我知道我可以创建一个生产基地和一个非生产基地,但这将使我拥有的所有下游AMI加倍,我试图避免这种情况。

1 个答案:

答案 0 :(得分:1)

根据documentation{{ ansible_env.SOME_VARIABLE }}应该有效。