Невозможно запустить скрипт в ansible - PullRequest
1 голос
/ 14 июля 2020

Я пытаюсь использовать ansible для запуска homebrew. Я нахожусь на стадии, когда мой доморощенный установлен правильно. Мне нужно просто настроить путь для пивоварения.

Потому что без пути brew command not found.

Я следую этому:

https://docs.brew.sh/Homebrew-on-Linux

Я пытаюсь добавить следующие команды в ansible.

test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)
test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
test -r ~/.bash_profile && echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.bash_profile
echo "eval \$($(brew --prefix)/bin/brew shellenv)" >>~/.profile

Ansible:

- name: map 1
  shell: test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)

Ошибка:

FAILED! => {"changed": true, "cmd": "test -d ~/.linuxbrew && eval $(~/.linuxbrew/bin/brew shellenv)", "delta": "0:00:00.002858", "end": "2020-07-14 16:44:20.881614", "msg": "non-zero return code", "rc": 1, "start": "2020-07-14 16:44:20.878756", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}

1 Ответ

0 голосов
/ 30 июля 2020

После длительного тестирования я обнаружил, что это связано с используемой учетной записью пользователя.

Мои базовые ansible скрипты по умолчанию были установлены на root. Итак, что мне нужно сделать, это установить become_user: ec2-user, когда мой become: no

- name: Test homebrew directive and eval homebrew path
  become: no
  shell: test -d /home/linuxbrew/.linuxbrew && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
  become_user: ec2-user
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...