1

我开发了一个安装 chruby 的Ansible 角色另一个使用 ruby​​-install 安装 ruby​​ 的角色。

我想在我的 Ansible playbooks 中使用 chruby,但是该命令对and模块chruby不可用,即使如果我使用运行 playbook 的同一用户通过 SSH 登录 chruby 工作正常。commandshell

这是我尝试过的:

  1. 按照chruby 的 README/etc/profile.d/chruby.sh中的建议,通过将以下脚本部署到 来确保所有用户都可以使用chruby :

    if [ -n "$BASH_VERSION" ] || [ -n "$ZSH_VERSION" ]; then
      source /usr/local/share/chruby/chruby.sh
      source /usr/local/share/chruby/auto.sh
    fi
    
  2. command使用或shell模块运行任务(/bin/bash用作可执行文件)以手动运行source /usr/local/share/chruby/chruby.shsource /usr/local/share/chruby/auto.sh在执行command任务之前chruby

在这两种情况下,我都收到以下错误:chruby: command not found.

如何在 Ansible 游戏中运行 chruby?

4

1 回答 1

2

您可以编写简单的 bash/etc 脚本,也可以获取这些文件:

shell: bash -c "source /usr/local/share/chruby/chruby.sh; source /usr/local/share/chruby/auto.sh;chruby ..."
于 2016-04-08T22:17:45.403 回答