尝试使用 puppet 中的 vcsrepo 模块为 devstack 安装 GIT 存储库。使用https://github.com/ ...但我在防火墙后面。有一个代理服务器可用于 http、https 和 FTP 访问 Internet。
使用此模块时,有没有办法包含代理?我在 vcsrepo 中没有找到任何似乎有效的东西。如果需要,愿意调整(破解)模块。
尝试使用 puppet 中的 vcsrepo 模块为 devstack 安装 GIT 存储库。使用https://github.com/ ...但我在防火墙后面。有一个代理服务器可用于 http、https 和 FTP 访问 Internet。
使用此模块时,有没有办法包含代理?我在 vcsrepo 中没有找到任何似乎有效的东西。如果需要,愿意调整(破解)模块。
我能够在不修改 vcsrepo 代码的情况下解决这个问题。相反,我在 root 的主目录中创建了一个 .gitconfig 文件,该文件指定了 https/http 协议的代理信息。
您可以查看模块 vcsrepo/lib/puppet/provider/vcsrepo/git.rb
在文件底部附近:
def git_with_identity(*args)
在上述行下方添加以下内容:
if @resource.value(:http_proxy)
ENV['http_proxy'] = @resource.value(:http_proxy)
ENV['https_proxy'] = @resource.value(:http_proxy)
end
接下来编辑 vcsrepo/lib/puppet/type/vcsrepo.rb - 在最后一个结束之前添加:
newparam :http_proxy do
desc "http proxy to use to communicate with the outside world"
end
现在在您的木偶清单中,您可以添加 http_proxy var:
vcsrepo { '/var/www/blash':
ensure => present,
provider => git,
http_proxy => 'http://prxy.local:8080',
require => Class['git-core'],
source => 'http://github.com/blah/blah.git';
}