Я пытаюсь настроить виртуальную машину под капотом конвейера DevOps Azure на основе Ubuntu 16.04 (Xenial 64).
Я вижу, что могу запускать bash
сценарии как задачи, среди различных готовыхзадачи.
Запустив скрипт bash, я вижу, что в среде Ubuntu установлена ansible
, потому что при наборе sudo apt-get install ansible
в содержании задачи типа «Bash» выводитсяЖурналы выполнения конвейера гласят:
2018-10-22T16:33:00.7632392Z ansible is already the newest version (2.0.0.2-2ubuntu1.1).
На веб-сайте документации DevOps / конвейеров Azure нет информации относительно ansible
, но команда действительно есть, и я могу успешно запустить такие вещи, какapt-get install
, поэтому я мог бы даже установить его, если его там не было.
Я не могу указать хост (localhost) для ansible, даже не изменив файл /etc/ansible/hosts
как sudo
, потому чтоЯ получаю ответ «Отказано в доступе».
Можно ли вообще запускать сборники игр в этой среде DevOps / pipe?
Моя идея заключалась в следующем:
- клонировать git reхранилище, содержащее «код для тестирования с конвейером» и ANSIBLE PlayBook для настройки среды Ubuntu
- с последующим изменением каталога на
/home/vsts/work/1/s/
(кажется, что пользователь Azure DevOps / pipe называется vsts
и при клонированиизатем git-репозиторий переходит в этот каталог ~/1/s/
) - , затем запускает задачу Azure DevOps / pipe типа "Bash", содержащую:
- вызов
ansible
playbook (длянастроить среду Ubuntu) - вызов
Makefile
в репозитории git (для запуска "тестов")
Пока явсегда получал «разрешение отклонено» при попытке изменения:
sudo echo $(ifconfig eth0 | grep 'inet addr' | awk '{print $2 }' | sed 's/addr://g') >> /etc/ansible/hosts
ansible-playbook ci/prepare-vm/azure-pipeline-vm-setup.yml -vvvv --extra-vars "cli_input_username=vsts"
или при попытке передать IP-адрес eth0
непосредственно в команду ansible-playbook
через параметр -i
- Почему кажется, что я не могу запустить ANSIBLE скрипт, даже если установлен ANSIBLE пакет?
- Как мне запустить этот ANSI скрипт в конвейере DevOps Azure?