Не удается заставить Ansible работать на конвейерах Azure для управления конфигурацией - PullRequest
0 голосов
/ 24 февраля 2019

Я занимаюсь подготовкой инфраструктуры с помощью Terraform и Ansible, занимаюсь управлением конфигурацией.

Вот общий обзор ,

enter image description here

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

Подробные сведения о задании управления конфигурацией Ansible приведены ниже: : enter image description here

Сообщение об ошибке ниже:

2019-02-24T13:10:12.4843263Z ##[section]Starting: Run playbook
2019-02-24T13:10:12.4991977Z ==============================================================================
2019-02-24T13:10:12.4992040Z Task         : Ansible
2019-02-24T13:10:12.4992109Z Description  : This task executes an Ansible playbook using a specified inventory via command line interface
2019-02-24T13:10:12.4992142Z Version      : 0.0.4
2019-02-24T13:10:12.4992171Z Author       : Microsoft Corporation
2019-02-24T13:10:12.4992237Z Help         : [More Information](https://go.microsoft.com/fwlink/?linkid=853835)
2019-02-24T13:10:12.4992267Z ==============================================================================
2019-02-24T13:10:14.0504658Z ERROR! the playbook: /home/vsts/work/r1/a/_Terraform could not be found
2019-02-24T13:10:14.0832289Z ##[error]Command ansible-playbook -i /tmp/ba06130c-26d3-4345-b658-3c3b728965f3inventory.ini /home/vsts/work/r1/a/_Terraform Build Phase/drop/terraform/playbooks/common.yml  exited with code 1.
2019-02-24T13:10:14.0857295Z ##[section]Finishing: Run playbook

Одно, что я точно знаю, это то, что оно работает в командной строке, если я экспортирую указанные ниже переменные,

export AZURE_CLIENT_ID="xxxxxxxxxxxxxxxxxxxxx"
export AZURE_SECRET="xxxxxxxxxxxxxxxxxxxxxxxx"
export AZURE_SUBSCRIPTION_ID="xxxxxxxxxxxxxxx"
export AZURE_TENANT="xxxxxxxxxxxxxxxxxxxxxxxx"

Примечание. Я создал эти переменные в группе «Переменные» и сделал их доступными для всех конвейеров.

Файл common.yml действительно существует, так как я перемещаюсь по нему и определяю его в определении выпуска.Не уверен, почему во время выполнения его невозможно найти.

В командной строке я запускаю, как показано ниже, и он работает, поэтому он должен работать и на конвейерах Azure?

ansible -i azure_rm.py ansible-inventory-test-rg -m ping

Файл azure_rmСкриптГруппа ресурсов: rg-app

Как заставить Ansible работать?Любая помощь будет искренне признательна.

Заранее большое спасибо.

1 Ответ

0 голосов
/ 25 февраля 2019

Путь $(System.DefaultWorkingDirectory)/_Terraform Build Phase/drop/terraform/scripts/azure_rm.py содержит несколько пробелов, которые не экранированы.Когда вы смотрите на ваш вывод, он говорит:

the playbook: /home/vsts/work/r1/a/_Terraform could not be found

Там вы видите, что он ищет неправильный путь для пьесы.Попробуйте удалить пробелы из пути к книге, если это возможно, или попробуйте заключить параметр File Path в "".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...