Я собираю небольшую книгу воспроизведения для развертывания сайта jekyll, и у меня возникают некоторые проблемы при выполнении задачи по обновлению зависимостей кодовой базы с помощью бандлера. Я пробовал отладку с помощью -vvv
параметр командной строки и не вижу ничего очевидного.
Целевая система - это установка Ubuntu по умолчанию с установленными ruby, bundler и несколькими другими пакетами.
Я сократил все до самого простого примера проблемы:
---
- hosts: all
vars:
location: /var/www/acodeninja.github.io
tasks:
- name: update codebase dependancies
bundler:
state: latest
chdir: "{{ location }}/"
Это запускается, но затем зависает на следующем этапе:
TASK [update codebase dependancies]
task path: /home/lawrence/code/app-manager/tests/files/test-deployment.yml:6
Если я изменю сценарий, чтобы просто запустить сборщик с помощью командного модуля, я получаю ту же проблему:
---
- hosts: all
vars:
location: /var/www/acodeninja.github.io
tasks:
- name: update codebase dependancies
command: bundle install
args:
chdir: "{{ location }}/"
Выполняя предположительно ту же команду на терминале, мы получаем почти мгновенное завершение (используя либо bundle
или bundler
):
/var/www/acodeninja.github.io on master
$ bundle install
Using public_suffix 3.0.1
Using addressable 2.5.2
...
Using jekyll 3.6.2
Using jekyll-feed 0.9.2
Using jekyll-paginate 1.1.0
Using minima 2.1.1
Bundle complete! 5 Gemfile dependencies, 24 gems now installed.
Use `bundle info [gemname]` to see where a bundled gem is installed.
/var/www/acodeninja.github.io on master
$
Любые предложения о том, как решить эту проблему, или если это может быть ошибка в ansible, были бы замечательными.
РЕДАКТИРОВАТЬ
Полную версию игры можно найти здесь: https://gist.github.com/acodeninja/fb082cebec579db50c1b57303a8bbf77
Команда, используемая для запуска playbook: ansible-playbook files/test-deployment.yml --ask-become-pass -vvv