`无法访问 'XXX':无法解析主机` Gitlab CI/CD 管道
`unable to access 'XXX': Could not resolve host` Gitlab CI/CD pipeline
我们在只能通过 L2TP VPN 隧道访问的专用服务器上托管 Gitlab。域的 DNS 设置为 IP 到内部网络中的主机,因此显然没有 VPN 就无法访问它。问题是当 Gitlab CI/CD 被触发时,作业中出现错误,日志如下:
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/web/XXX/.git/
fatal: unable to access 'https://<our domain>/web/XXX.git/': Could not resolve host: <our domain>
这里是.gitlab-ci.yml
:
图片:docker/compose:最新
services:
- docker:dind
before_script:
- docker version
- docker-compose --version
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
build:
stage: build
script:
- docker-compose --context remote up -d --build
好像找不到主机的IP。
我什至不知道从哪里开始诊断问题。在托管服务器中,我 ping 了主机地址,它显示了正确的 IP 地址。我该如何解决这个问题?
此错误是因为主机未知 docker。
我也遇到了同样的问题。我在config.toml
中的docker执行器配置下的extra_hosts
参数中添加了域名和域ip
获取您要添加的主机的 IP 地址,因为您需要在 extra_hosts
参数中同时添加主机名和主机 IP。
在你的 config.toml
中,像这样更改:
[[runners]]
name = "maven-docker"
url = "https://<your-domain-name>/gitlab/"
token = "MXvXVma55_Kw2o"
executor = "docker"
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "maven:latest"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
extra_hosts = ["<your-domain-name>:<your-domain-ip>"]
pull_policy = "never"
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.custom]
run_exec = ""
然后,使用命令 sudo gitlab-runner restart
或 gitlab-runner restart
重启 gitlab runner
我们在只能通过 L2TP VPN 隧道访问的专用服务器上托管 Gitlab。域的 DNS 设置为 IP 到内部网络中的主机,因此显然没有 VPN 就无法访问它。问题是当 Gitlab CI/CD 被触发时,作业中出现错误,日志如下:
Fetching changes with git depth set to 50...
Reinitialized existing Git repository in /builds/web/XXX/.git/
fatal: unable to access 'https://<our domain>/web/XXX.git/': Could not resolve host: <our domain>
这里是.gitlab-ci.yml
:
图片:docker/compose:最新
services:
- docker:dind
before_script:
- docker version
- docker-compose --version
- 'command -v ssh-agent >/dev/null || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add -
build:
stage: build
script:
- docker-compose --context remote up -d --build
好像找不到主机的IP。 我什至不知道从哪里开始诊断问题。在托管服务器中,我 ping 了主机地址,它显示了正确的 IP 地址。我该如何解决这个问题?
此错误是因为主机未知 docker。
我也遇到了同样的问题。我在config.toml
extra_hosts
参数中添加了域名和域ip
获取您要添加的主机的 IP 地址,因为您需要在 extra_hosts
参数中同时添加主机名和主机 IP。
在你的 config.toml
中,像这样更改:
[[runners]]
name = "maven-docker"
url = "https://<your-domain-name>/gitlab/"
token = "MXvXVma55_Kw2o"
executor = "docker"
[runners.custom_build_dir]
[runners.docker]
tls_verify = false
image = "maven:latest"
privileged = true
disable_entrypoint_overwrite = false
oom_kill_disable = false
disable_cache = false
extra_hosts = ["<your-domain-name>:<your-domain-ip>"]
pull_policy = "never"
shm_size = 0
[runners.cache]
[runners.cache.s3]
[runners.cache.gcs]
[runners.custom]
run_exec = ""
然后,使用命令 sudo gitlab-runner restart
或 gitlab-runner restart