我试图通过运行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密码以及相应的权限已完成以检出目录。我在这里犯了什么错误?
答案 0 :(得分:2)
您需要在系统上安装“ svn”,此Ansible模块才能工作。 the docs中已提及。错误是因为Ansible无法在其环境中的路径中找到svn命令。
如果尚未安装'svn'软件包,请安装。如果已安装,请运行其中一个
which svn
或
find / -name 'svn' -type f
找到二进制文件,然后将executable: <path returned by the previous commands>
添加到您的Subversion任务定义中,或者将包含'svn'的目录添加到$ PATH环境变量中。