svn - Ansible SVN 结帐中的“无法在路径中找到所需的可执行 svn”错误
问题描述
我正在尝试通过运行 Ansible 剧本使用 Ansible SVN 模块来签出一个 SVN 存储库。当我检查 SVN 存储库时,我收到以下错误:
TASK [pipelinerole : Checkout/Update SVN repository] ***************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to find required executable svn in paths: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin:/sbin:/usr/sbin:/usr/local/sbin"}
[WARNING]: Could not create retry file '/home/pipelinesite.retry'.
[Errno 13] Permission denied: u'/home/pipelinesite.retry'
PLAY RECAP *********************************************************************
localhost : ok=1 changed=0 unreachable=0 failed=1
我正在使用 Ansible 角色来运行 SVN Checkout。我添加了用于 SVN 结帐的 YAML,如下所示:
- name: Checkout/Update SVN repository
subversion:
repo: http://<My-IP>/svn/pipeline
checkout: yes
update: yes
In_place: yes
force: yes
dest: ../../SpaceStudyTest
username: <My-Username>
password: <My-Password>
我的 SVN 密码和正确的权限已用于签出目录。我在这里犯了什么错误?
解决方案
你需要在你的系统上安装 'svn' 才能让这个 Ansible 模块工作。文档中提到了它。错误是说 Ansible 无法在其环境中的路径中找到 svn 命令。
如果你还没有安装'svn'包。如果已安装,请运行
which svn
或者
find / -name 'svn' -type f
找到二进制文件,然后添加executable: <path returned by the previous commands>
到您的颠覆任务定义或将包含“svn”的目录添加到 $PATH 环境变量。
推荐阅读
- google-apps-script - 将 .XLSX 转换为 Google Sheet 并移动转换后的文件的脚本
- sql - 从表 A 的列中提取文本并插入表 B
- c# - 未定义的预处理器变量“$(var.WixInstall.TargetPath)”。WixInstaller D:work\Extractor\WixInstaller\Product.wxs
- android - 我可以防止 onFling() 和 onDown() 都触发吗?
- time-series - 在 Tsay 的平均代码中将虚拟变量放在 GARCH 中的哪里并获得输出?
- ruby-on-rails - 出于测试目的,尝试从一个 actionmailer 方法返回所有已发送电子邮件的数组
- opencv - 如何获得干净的视差图和干净的深度图
- javascript - 如何使用 Vanilla JavaScript 或 JQuery 实现受控组件(在 ReactJS 中)
- file - 上传文件到 Telegram Server 的方法
- ruby-on-rails - 如果只配置了一个主机,Rails 是否会自动找出 MongoDB 副本集中的主节点?