使用ansible设置env变量的最佳实践

时间:2014-10-20 13:23:44

标签: ansible

我刚刚开始使用Ansible,所以更具体一点,我想设置几个zookeeper流浪汉机器,为此我已经做了一个单独的角色 - zookeeper 。安装任务很简单,但最好的是配置env vars一般吗?在我的用例中,我在vars / main.yml中添加了两个变量:

---
env:
  ZOOKEEPER_INSTALL: "/usr/share/zookeeper"
  PATH: "$PATH:$ZOOKEEPER_INSTALL/bin"

然后将此添加到角色任务:

- name: Export ZooKeeper env vars
  shell: export env

但我没有在printenv找到这些变种。然后我尝试用shell更改environment模块,但它似乎做了另一种事情。那么设置env vars的正确方法是什么,以便它们甚至可以在server reboot / vagrant halt之后工作?

1 个答案:

答案 0 :(得分:1)

如果您想设置系统环境变量,您必须采用与没有Ansible的情况相同的方式,例如将适当的代码放入/etc/profile.d。您可以使用template模块,并包含您需要的所有变量。