ошибка! конфликтующие инструкции действий: команда, отладка

#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. Не могу поверить, что я этого не видел. Спасибо за вашу помощь!