在詹金斯调用Ansible剧本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在詹金斯调用Ansible剧本相关的知识,希望对你有一定的参考价值。
我有jenkins构建,我正在尝试调用sible上传的ansible playbook文件。当我执行一个用于调用ansible playbook文件的post-build-script时,我以下面的错误结束。无法运行程序“ansible-playbook”(在目录“/ var / jenkins_home / workspace / mybuild”中):error = 2,没有这样的文件或目录
仅供参考:我的构建文件夹中有一个文件(ansibledemo.yml)。我尝试给出绝对路径(/var/jenkins_home/workspace/mybuild/ansibledemo.yml)。仍然没有去。
当我尝试直接在jenkins图像(终端)中运行ansible-playbook myplaybook.yml时,我最终得到了bash:ansible-playbook:command not found
Ansible没有安装在你的Jenkins机器上,首先你需要在jenkins机器上安装ansible:
在Ubuntu / Debian上:
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install ansible
在CentOS / RedHat上:
sudo yum install epel-release
sudo yum install ansible
之后,您将能够运行ansible-playbook。
您可以尝试使用pip版本作为替代方案进行安装并尝试,请参阅以下步骤,
$ virtualenv venv
$ source venv/bin/activate
$ pip install ansible-container[docker,openshift]
您可以在docs中看到更多要安装的选项:https://docs.ansible.com/ansible-container/installation.html
但总是保持一个单独的vm / docker像“ansible-controller”并使用它作为jenkins的奴隶,这是一个很好的选择,所以你不需要ansible的ansible插件。 jenkins总是稳定而没有太大的负担
- 从配置的源下载包信息。
# apt update
- 安装ansible
# apt install ansible
而已。
如果您运行官方jenkins容器(基于debian)而不是使用ansible内置的repo,并且您不需要“apt-add-repository”。但是你可以通过安装软件属性来安装apt-add-repository以便进一步使用。
dpkg -S apt-add-repository
告诉该数据包属于软件属性 - 常见。
出现错误是因为容器的作者总是尝试使其尽可能轻并删除包信息。
您不需要sudo,因为默认情况下您将成为容器中的root用户。只有在您故意提及时才会成为另一个用户。
请将您在容器中工作的信息添加到您的问题中。
以上是关于在詹金斯调用Ansible剧本的主要内容,如果未能解决你的问题,请参考以下文章