我试图在基于Ubuntu 16.04(Xenial 64)的Azure DevOps管道的后台自定义VM。
我看到我可以在各种现成任务中将bash
脚本作为任务运行。
通过运行bash脚本,我可以在Ubuntu环境ansible
中看到已安装,因为在类型“ Bash”的任务内容中键入sudo apt-get install ansible
时,Logs of的输出管道的执行内容为:
2018-10-22T16:33:00.7632392Z ansible is already the newest version (2.0.0.2-2ubuntu1.1).
从Azure DevOps /管道文档网站上没有关于ansible
的信息,但是确实存在该命令,我可以成功运行apt-get install
之类的东西,因此我什至可以安装它它不在那里。
我无法为ansible指定主机(本地主机),甚至无法将文件/etc/ansible/hosts
更改为sudo
,因为我回来了“权限被拒绝”。
在该DevOps /管道环境中根本可以运行ansible剧本吗?
我的想法是:
/home/vsts/work/1/s/
(似乎Azure DevOps /管道用户名为vsts
,并且在克隆git存储库时,它会转到该~/1/s/
目录)ansible
剧本(以配置Ubuntu环境)Makefile
(以运行“测试”)到目前为止,在尝试以下内容的变体时,我总是回到“权限被拒绝”的位置:
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"
或尝试通过eth0
参数将ansible-playbook
IP地址直接传递给命令-i
答案 0 :(得分:0)
您可以使用带有-i标志的备用文件主机。
例如
ansible-playbook -i $(Build.SourcesDirectory)/hosts