ansible-playbook 无法使用 .bashrc 环境变量

ansible-playbook 无法使用 .bashrc 环境变量

我正在使用 ansible-playbook 将我的 django 应用程序部署到 Ubuntu 服务器。我将我的 django 环境变量存储在服务器中用户 ubuntu 的 .bashrc 文件中。但是,即使我以 ubuntu 用户身份运行,我的 ansible-playbook 也不会使用 .bashrc 中的环境变量。我有没有办法使用 ansible-playbook 访问这些环境变量。

答案1

我用的是这个:

  - shell: . ~/.bashrc  && echo $LS_COLORS
    args: 
      executable: /bin/bash
    register: result

  - set_fact:
      ls_colors: "{{ result.stdout }}"

答案2

这也有效,因此你的代码看起来更干净

- name: Use ruby 2.6.6
  shell: |
    source ~/.bashrc
    rvm use 2.6.6
    gem install fastlane

- name: Use ruby 2.6.6
  shell: |
    source ~/.bash_profile
    rvm use 2.6.6
    gem install fastlane

相关内容