我有jenkins构建,我正在尝试为s3上传调用ansible playbook文件 . 当我执行一个用于调用ansible playbook文件的post-build-script时,我以下面的错误结束 . Cannot run program "ansible-playbook" (in directory "/var/jenkins_home/workspace/mybuild"): error=2, No such file or directory
下面的截图是ansible post build脚本配置 .
仅供参考:我的构建文件夹中有一个文件(ansibledemo.yml) . 我尝试给出绝对路径(/var/jenkins_home/workspace/mybuild/ansibledemo.yml) . 仍然没有去 .
When I try running ansible-playbook myplaybook.yml directly in jenkins image(terminal) I am ending up with bash: ansible-playbook: command not found
当我尝试在我的jenkins服务器上安装ansible时,我无法执行任何安装命令 . 请参阅下面的屏幕截图 .
3 回答
# apt update
# apt install ansible
而已 .
如果您运行官方jenkins容器(基于debian)而不是使用ansible内置的repo并且您不需要“apt-add-repository” . 但是你可以通过安装软件属性来安装apt-add-repository以便进一步使用 .
dpkg -S apt-add-repository
告诉该数据包属于software-properties-common .出现错误是因为容器的作者总是尝试使其尽可能轻,并删除包信息 .
您不需要sudo,因为默认情况下您将成为容器中的root用户 . 只有在您故意提及时才会成为另一个用户 .
请将您在容器中工作的信息添加到您的问题中 .
您可以尝试使用pip版本作为替代方案进行安装并尝试,请参阅以下步骤,
您可以在docs中看到更多要安装的选项:https://docs.ansible.com/ansible-container/installation.html
但总是保持一个单独的vm / docker像“ansible-controller”并使用它作为jenkins的奴隶是一个很好的选择,所以你不需要ansible的ansible插件 . jenkins总是稳定而没有太大的负担
Ansible没有安装在你的Jenkins机器上,首先你需要在jenkins机器上安装ansible:
On Ubuntu/Debian:
On CentOS/RedHat:
之后,您将能够运行ansible-playbook .