Ansible нет файла конфигурации с использованием по умолчанию - PullRequest
0 голосов
/ 09 марта 2020

Я пытаюсь автоматизировать развертывание, используя ansible. Работает нормально. Но с Дженкинсом, когда я запускаю ansible-playbook ./test-playbook.yml -v, я получаю это сообщение:

[Pipeline] sh
+ ansible-playbook ./test-playbook.yml -v
No config file found; using defaults
[WARNING]: No inventory was parsed, only implicit localhost is available
[WARNING]: provided hosts list is empty, only localhost is available. Note that
the implicit localhost does not match 'all'
ERROR! the role 'spring' was not found in /var/lib/jenkins/workspace/g_root_web-provisionning_develop/roles:/var/lib/jenkins/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/var/lib/jenkins/workspace/g_root_web-provisionning_develop

The error appears to be in '/var/lib/jenkins/workspace/g_root_web-provisionning_develop/test-playbook.yml': line 11, column 7, but may
be elsewhere in the file depending on the exact syntax problem.

The offending line appears to be:

  roles:
    - spring
      ^ here

Когда я запускаю ту же команду непосредственно в системе, она отлично работает. Подробный режим показывает, что файл конфигурации не найден. Может ли кто-нибудь помочь мне

С уважением

1 Ответ

0 голосов
/ 09 марта 2020

Вы используете инвентарь для перечисления ваших серверов на Ansible для работы. Обычно люди хранят свои запасы локально до git (например, -i myinv.yaml), но в вашем случае похоже, что вы используете свой глобальный (системный или пользовательский) инвентарь. Он находится на вашем компьютере и не сохраняется в репозитории git, поэтому ваш КИ не может получить к нему доступ.

Найдите файл инвентаризации, который вы используете на своем компьютере (ansible-playbook ... -vv), и скопируйте его. это к вашему CI (плохая идея) или включить его в ваш git репо. В последующем случае вам необходимо предоставить инвентарь в явном виде (-i).

Дополнительное примечание: будьте осторожны с конфиденциальной информацией (паролями, токенами и т. Д. c) - обычно вы не хотите их хранить в файле в git репо.

...