Deployment 在ansible中设置环境变量
我正在使用ansible在ubuntu bashrc中添加永久性环境变量。 我在Deployment 在ansible中设置环境变量,deployment,server,ansible,Deployment,Server,Ansible,我正在使用ansible在ubuntu bashrc中添加永久性环境变量。 我在prod\u vars文件中定义了这些设置: enviornment_variables: PRODUCTION: MONGO_IP: 0.0.0.0 MONGO_PORT: 27017 ELASTIC_IP: localhost ELASTIC_PORT: 9200 如何使用任务导出它?我了解lineinfle模块,但不想对每个环境变量重复 - name: set env in
prod\u vars
文件中定义了这些设置:
enviornment_variables:
PRODUCTION:
MONGO_IP: 0.0.0.0
MONGO_PORT: 27017
ELASTIC_IP: localhost
ELASTIC_PORT: 9200
如何使用任务导出它?我了解lineinfle
模块,但不想对每个环境变量重复
- name: set env in the bashrc files
lineinfile: dest=/home/user/.bashrc line='export MONGO_IP=enviornment_variables[PRODUCTION][MONGO_IP]'
上面的命令也给出了synatx错误?请使用blockinfle
模块,而不是使用lineinfle
模块。
因此,类似这样的方法应该有效:
-名称:为用户添加环境变量
区块填充:
路径:/home/user/.bashrc
插入者:EOF
区块:|
导出{{item.key}}={{item.val}
标记:“#{mark}{{item.key}}”
用_dict:
“{{environment_variables['PRODUCTION']}”
ps:“environment”中的拼写错误让我花了20多分钟才识别出来 不要这样做。相反,来自(例如).bashrc.d
的源文件使用Ansible中的模板在.bashrc.d
下创建一个文件。我该怎么做?还有为什么.bashrc.d
?我整天都在拼写。也很有用。