Ansible找不到bashrc文件

时间:2018-04-20 14:40:04

标签: ansible

我正在尝试将几个环境变量附加到服务器上的.bashrc文件中:

- name: append environment variables to the end of .bashrc file
  blockinfile:
    dest: "/home/username/.bashrc"
    insertafter: EOF
    block: |
      # environment variable exports
      export something="something";

运行以上结果会出现以下错误:

fatal: [ip-address]: FAILED! => {"changed": false, "msg": "Path /home/username/.bashrc does not exist !", "rc": 257}

如果我将路径从/home/username/.bashrc更改为~/.bashrc,则该剧本成功,但是当我使用相关用户登录服务器时,.bashrc尚未更新。

Ansible版本:2.5.1 服务器操作系统:Ubuntu 16.04

我是否应该使用另一个文件而不是.bashrc来为指定用户附加环境变量(与我运行ansible-playbook的用户相同)?

目标是添加环境变量,然后在单独的任务source中添加文件,以便为该用户永久提供环境变量。

1 个答案:

答案 0 :(得分:0)

经过几个小时的调试并搜索解决方案后,发现主deploy.yml文件的设置为connection: local,导致每个任务都在本地计算机而不是远程服务器上执行。这是导致文件未找到错误的原因。

我现在也使用~/.profile来存储环境变量,而不是~/.bashrc,这似乎是首选位置。