我有jenkins构建,我正在尝试为s3上传调用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
答案 0 :(得分:0)
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了。
答案 1 :(得分:0)
您可以尝试使用pip版本进行安装,然后尝试,请参阅以下步骤
$ virtualenv venv
$ source venv/bin/activate
$ pip install ansible-container[docker,openshift]
您可以在文档中看到更多要安装的选项:https://docs.ansible.com/ansible-container/installation.html
但总是保持一个单独的vm / docker像是一个很好的选择" ansible-controller"并使用它作为jenkins的奴隶,这样你就不需要在ansible中使用ansible插件。并且jenkins总是稳定而没有太多的负担
答案 2 :(得分:0)
从配置的来源下载包信息。
# apt update
安装ansible
# apt install ansible
那就是它。
如果您运行官方jenkins容器(基于debian)而不是使用ansible build的repo而且您不需要" apt-add-repository"。但是你可以通过安装软件属性来安装apt-add-repository以便进一步使用。
dpkg -S apt-add-repository
表示此数据包属于software-properties-common。
出现错误,因为容器的作者总是尝试使其尽可能轻,并删除包信息。
您不需要sudo,因为默认情况下您将成为容器中的root用户。只有在您故意提及的情况下,您才会成为另一个用户。
请将您在容器中工作的信息添加到您的问题中。