Ansible SVN检出中出现“未能在路径中找到所需的可执行svn”错误

时间:2018-12-07 13:11:36

标签: svn ansible

我试图通过运行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密码以及相应的权限已完成以检出目录。我在这里犯了什么错误?

1 个答案:

答案 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环境变量中。