docker - Gitlab runner,私人仓库,docker executor 不使用主机的主机文件
问题描述
我有一个私人 git 仓库。我的跑步者在单独的机器上,都是 ubuntu。当我尝试在 yml 文件中 ping $CI_REGISTRY 时,我在构建过程中看到 $CI_REGISTRY 域名未解析为正确的 IP 地址。我需要访问服务器的内部地址,而不是外部地址,所以我在运行 gitlab 运行程序的主机上设置了一个主机文件,该文件具有正确的地址,但执行程序忽略了它。奇怪的是,它提供的地址是 cloudflare 网络上的内部地址,而不是我尝试访问的主机的外部地址,正如我在进行 DNS 查找时所期望的那样。
我怎么能:
- 强制 docker 执行器使用主机的 hosts 文件
- 传入执行程序可以用来正确解析地址的环境变量(或其他东西)
解决方案
通过修改 /etc/gitlab-runner/config.toml 解决了这个问题:
[[runners]]
...
[runners.docker]
...
privileged = true
extra_hosts = ["repo.mydomain.com:172.23.8.182"]
推荐阅读
- c# - 如何循环遍历序列化的 json
- sql-server - AWS Fargate,带有 SQL Server 的 .NET Core 应用程序在数据库故障转移后无法连接到故障转移合作伙伴
- wordpress - Firefox Wordpress 问题 - 主页出现白屏
- python - 用 Python 访问 iCloud 号码的合理解决方案
- postgresql - HikariCP vs PG 保镖
- vue.js - 组件未使用 Vue compat 渲染
- python - 如何在 Python (Selenium) 中处理动态 iFrame ID
- android - 通过 Google Cloud sdk 访问 Google Play Android Developer API
- gherkin - 覆盖可重复场景的 Gherkin 格式
- php - 为什么 strlen 为浮点数返回不同的长度?