2015-05-12 3 views
0

У меня есть следующий анзибль игра:анзибль показать выход рельсов тестирует

- name: run rails tests 
    hosts: marflar 
    sudo: yes 
    sudo_user: vagrant 
    tags: 
    - rake 
    tasks: 
    - name: configure nokogiri 
     command: bash -lc "bundle config build.nokogiri --use-system-libraries" 

    - name: install gems 
     command: bash -lc "bundle install" 
     register: bundle_complete 

    - name: check if database exists 
     command: bash -lc "bundle exec rake db:version" 
     ignore_errors: True 
     register: rake_db_version_result 

    - name: create database 
     command: bash -lc "bundle exec rake db:setup" 
     register: db_setup_complete 
     when: rake_db_version_result|failed 

    - name: apply database migrations 
     command: bash -lc "bundle exec rake db:migrate" 
     register: db_setup_complete 
     when: rake_db_version_result|success 

    - name: running the test suite 
     command: bash -lc "bundle exec rake test" 
     when: db_setup_complete 

Это хорошо работает, но я не могу увидеть выход bundle exec rake test только после его завершения. Есть ли способ показать мой тестовый результат, как это происходит?

ответ

2

Похоже, что lot of people have requested this feature, но что сторонники Ansible решили, что этот вид функции is not a good fit for the way Ansible is built.


Редактировать для ясности:

Там много причин, обеспечивая выход в режиме реального времени в анзибль не поддерживается, есть несколько твердых аргументов из билета:

анзибль содержит 235+ модулей и API, используемые в основном для всех , эти модули не имеют возможности сообщать статус в в середине асинхронной операции

И

CLI не имеет хороший способ вывода стандарта из изменений при работе параллельно с нескольких сотен хостов

Если вы действительно хотите видеть вывод команды в то время как его выполнение, вам, вероятно, лучше попробовать ssh или какой-нибудь другой инструмент, Ansible не может этого сделать.

Смежные вопросы