0

尝试使用 puppet 中的 vcsrepo 模块为 devstack 安装 GIT 存储库。使用https://github.com/ ...但我在防火墙后面。有一个代理服务器可用于 http、https 和 FTP 访问 Internet。

使用此模块时,有没有办法包含代理?我在 vcsrepo 中没有找到任何似乎有效的东西。如果需要,愿意调整(破解)模块。

4

2 回答 2

1

我能够在不修改 vcsrepo 代码的情况下解决这个问题。相反,我在 root 的主目录中创建了一个 .gitconfig 文件,该文件指定了 https/http 协议的代理信息。

于 2013-10-04T00:47:19.097 回答
1

您可以查看模块 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';
    }
于 2013-06-12T13:47:26.590 回答