#bash #ansible
Вопрос:
Я хочу выполнить сценарий удаленной оболочки и получить результат. Конфликт возникает в файле tasks/build.yml:
- name: Execute setup.sh in Git repository
command: chdir=/opt/{{ repo_name }} {{ item }}
with_items:
- ./setup.sh
register: command_output
debug:
var: command_output.stdout_lines
Вот main.yml:
---
- name: Clone and Build Project
hosts: all
gather_facts: true
become: true
vars_files:
- vars/gitlab.yml
tasks:
- include: tasks/clone.yml
- include: tasks/dependencies.yml
- include: tasks/build.yml
Учебник успешно выполняется без отладочной информации. После того, как я попытаюсь вывести отладочную информацию, она завершится с этой ошибкой.
Ответ №1:
Вы смешиваете две задачи, которые вам нужно использовать register
для 1-й задачи и debug
для 2-й задачи. Также обратите внимание, что, если вы используете with_items
это средство, вам придется использовать debug
более <registername>.results[<item>].stdout_lines
- name: Execute setup.sh in Git repository
command: chdir=/opt/{{ repo_name }} {{ item }}
with_items:
- ./setup.sh
register: command_output
- debug:
var: command_output.results[0].stdout_lines
Комментарии:
1. Не могу поверить, что я этого не видел. Спасибо за вашу помощь!