Ansible Galaxy:为私有 Git 依赖绕过代理
当公共集合下载和私有 Git 依赖需要不同路由时,在 ansible-galaxy 运行的位置设置代理与绕过环境。
安装集合时,同一个工作流既可能访问公共 Galaxy 服务,也可能访问私有 Git 主机。如果公共流量需要代理,而私有主机可以直接访问,就把这种区分交给运行 ansible-galaxy 的进程。
export https_proxy='http://proxy.example:8080'
export no_proxy='gitlab.internal.example'
ansible-galaxy collection install -r requirements.yml这展示了针对现有 requirements 文件的控制器端 shell。把私有主机与其他需要绕过的条目合并在一起。如果公共 Galaxy 下载可以使用公共中转,HTTP 代理列表可以为 https_proxy 提供候选;请保留可直接访问的私有 Git 例外。该条目填写的是目标主机,而不是代理,也不是完整的仓库 URL。
playbook 的 environment 关键字配置的是所选远程任务的环境;它既不会配置 Ansible 本身,也不会追溯地为集合安装提供环境。
追踪失败的 URL 和下载器。集合可能来自 API、归档 URL 或 Git。Git 子进程也可能有自己的代理配置,所以当只有仓库访问失败时,要把该配置与它继承的环境作比较。额外的私有归档或依赖主机也应保留在路由策略中。