Puppet SVN检查vcsrepo无法正常工作

时间:2015-12-02 21:21:15

标签: svn puppet

我正在尝试使用vcsrepo模块检出SVN仓库。下面是我正在使用的pp代码:

    package { $repo_package:
            ensure => installed,
    }

    vcsrepo { "${doc_root}${fqdn}/src":
            ensure     => present,
            provider   => $repo_provider, #svn
            source     => $repository, #svn+ssh://remoterepo.com/path/to/trunk
            user       => $deploy_user,
            owner => 'www-data',
            group => 'www-data',
            require    => [ File["/home/${deploy_user}/.ssh/${deploy_private_key}"], Package["${repo_package}"] ], #making sure ssh key is there and that svn is installed
    }

当我运行它时,我收到此错误:

Error: /Vcsrepo[/checkout/destination/path]: Could not evaluate:
Execution of '/usr/bin/svnlook uuid /checkout/destination/path'
returned 1: svnlook: E000002: Can't open file 
'/checkout/destination/path/format': No such file or directory

我查看svnlook用于查看repos,对我来说似乎错误是这段代码试图在/ checkout / destination / path中创建一个repo,而不是仅仅尝试将代码签出到那里。

总结一下我的问题:vcsrepo模块是否尝试创建一个新的repo,或者它应该只是将文件签出到指定的目标路径?

如果是后者,我哪里错了?

1 个答案:

答案 0 :(得分:1)

好的,所以我确实解决了问题,这是因为已经创建了${doc_root}${fqdn}/src目录。当目录已经存在时,它将该命令视为更新(我相信,因此需要格式),所以一旦我删除了它的工作文件夹的前手创建。我还应该注意,因为我认为svn用户没有工作,我为root创建了一个身份文件(.ssh / config),这对我有用。

正如@Peter Souter所说,支持用户参数用户,我还没有让它工作。

在我有空的时候,我将来会尝试更多地玩它。如果其他人有任何需要添加的内容请随意。

还有一件事!!实际上让它工作在一个新的木偶设置(使用.ssh / config文件),我不得不添加行:

StrictHostKeyChecking no

.ssh/config,没有它,结账会失败,我相信由于没有上述线的事实,它会要求接受服务器指纹,然后木偶会认为失败并继续前进。

如果我在这里遇到任何问题,请告诉我,我不想传递不正确的信息。