我正在尝试为CI / CD设置gitlab-runner
。尝试运行我的构建时,它会在以下情况下统一错误:
Running with gitlab-ci-multi-runner 9.1.0 (0118d89) on web1 (27e4fda8)
Using Docker executor with image meteorhacks/meteord:onbuild ...
Using docker image sha256:29874b1497a5371d90e42eb5401c7471ce94a4bce218dcefb2249bbbcb6830ae for predefined container...
Pulling docker image meteorhacks/meteord:onbuild ...
Using docker image meteorhacks/meteord:onbuild ID=sha256:3776323ff75691de7182e5871bd9584671ee9ca066e26638327b44cc46f9a0c0 for build container...
Running on runner-27e4fda8-project-3-concurrent-0 via web1...
Cloning repository...
Cloning into '/builds/foo/bar'...
fatal: unable to access 'http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.foo.bar.net/foo/bar.git/':
Failed to connect to gitlab.foo.bar.net port 80: Operation timed out ERROR: Job failed: exit code 1
奇怪的是,从跑步者盒子里,我可以跑:
wget http://gitlab-ci-token:xxxxxxxxxxxxxxxxxxxx@gitlab.foo.bar.net/foo/bar.git/
这绝对没有超时。如果我不能自己重现网络超时,我不知道如何调试网络超时!
答案 0 :(得分:2)
我的设置在docker容器中有gitlab和gitlab-runner。我的gitlab有一个静态本地ip,并且在gitlab-runner的自定义docker网络中。
我遇到了类似的问题,直到我意识到我的gitlab运行器是在默认的桥接网络中生成的,因此没有看到我的gitlab的地址。
我通过添加:
来解决问题network_mode = "network_name" (ie. gitlab_default)
到我的跑步者config.toml。
希望这有帮助!