Puppet SVN 签出 vcsrepo 不工作
Puppet SVN check out with vcsrepo not working
我正在尝试使用 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,在我看来,错误似乎是这段代码试图在 /checkout/destination/path 中创建一个回购协议,而不是仅仅尝试将代码检出到那里.
总结一下我的问题:vcsrepo 模块是在尝试创建一个新的存储库还是应该只是将文件检出到指定的目标路径?
如果是后者,我哪里错了?
好的所以我确实解决了问题,这是因为已经创建了${doc_root}${fqdn}/src
目录。当目录已经存在时,它将命令视为更新(我相信,因此需要格式),所以一旦我删除了之前创建的文件夹,它就可以工作了。我还应该注意,因为我认为 svn 用户没有工作,所以我为 root 创建了一个身份文件 (.ssh/config),这对我有用。
正如@Peter Souter 提到的,支持用户参数用户,我还没有让它工作。
以后有时间我会尝试更多地使用它。如果其他人有什么要补充的,请随时补充。
还有一件事!!要真正让它在新的木偶设置上工作(使用 .ssh/config 文件),我必须添加以下行:
StrictHostKeyChecking no
到.ssh/config
,没有它结帐会失败,我相信由于没有上述行,它会要求接受服务器指纹,然后 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,在我看来,错误似乎是这段代码试图在 /checkout/destination/path 中创建一个回购协议,而不是仅仅尝试将代码检出到那里.
总结一下我的问题:vcsrepo 模块是在尝试创建一个新的存储库还是应该只是将文件检出到指定的目标路径?
如果是后者,我哪里错了?
好的所以我确实解决了问题,这是因为已经创建了${doc_root}${fqdn}/src
目录。当目录已经存在时,它将命令视为更新(我相信,因此需要格式),所以一旦我删除了之前创建的文件夹,它就可以工作了。我还应该注意,因为我认为 svn 用户没有工作,所以我为 root 创建了一个身份文件 (.ssh/config),这对我有用。
正如@Peter Souter 提到的,支持用户参数用户,我还没有让它工作。
以后有时间我会尝试更多地使用它。如果其他人有什么要补充的,请随时补充。
还有一件事!!要真正让它在新的木偶设置上工作(使用 .ssh/config 文件),我必须添加以下行:
StrictHostKeyChecking no
到.ssh/config
,没有它结帐会失败,我相信由于没有上述行,它会要求接受服务器指纹,然后 puppet 会认为失败并移动在。
如果我在这里有任何错误,请告诉我,我不想传递不正确的信息。