Как я могу запустить Chruby с Ansible?
Я разработал роль Ansible, которая устанавливает chruby, и другую, которая устанавливает ruby с помощью ruby-install.
Я хотел бы использовать Chruby в моих пьесах Ansible, но chruby
команда недоступна для command
а также shell
модули, даже если Chruby работает нормально, если я вхожу через SSH с тем же пользователем, с которым я запускаю playbook.
Вот что я попробовал:
Чтобы убедиться, что 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
Выполнение задачи с
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 ..."