Как я могу запустить Chruby с Ansible?

Я разработал роль Ansible, которая устанавливает chruby, и другую, которая устанавливает ruby ​​с помощью ruby-install.

Я хотел бы использовать Chruby в моих пьесах Ansible, но chruby команда недоступна для command а также shell модули, даже если Chruby работает нормально, если я вхожу через SSH с тем же пользователем, с которым я запускаю playbook.

Вот что я попробовал:

  1. Чтобы убедиться, что Chruby доступен всем пользователям, разверните следующий скрипт в /etc/profile.d/chruby.sh, как предлагается в README Чруби:

    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.sh а также source /usr/local/share/chruby/auto.sh перед выполнением command задача для chruby

В обоих случаях я получил следующую ошибку: chruby: command not found,

Как я могу запустить Chruby в игре Ansible?

1 ответ

Решение

Вы можете написать простой скрипт bash/etc или использовать эти файлы:

shell: bash -c "source /usr/local/share/chruby/chruby.sh; source /usr/local/share/chruby/auto.sh;chruby ..."
Другие вопросы по тегам