Gitlab CI 中使用 Docker runner 的代理问题

Issues with proxy in Gitlab CI using Docker runner

我想将我的 Maven/Java 应用打包到 Docker Gitlab CI runner 中。

我支持公司代理。这是我的 .gitlab-ci.yml:

image: maven:3-jdk-7

build:
  script: "mvn clean package -B"

触发构建时,出现此错误(在 Gitlab 构建控制台中):

Unknown host repo.maven.apache.org: Name or service not known -> [Help 1]

然后,我添加了

variables:
  http_proxy: http://user:pass@corp.proxy.ip:port

.gitlab-ci.yml。但是我得到另一个错误:

fatal: unable to access 'http://gitlab-ci-token:xxxxxx@170.20.20.20:8080/myapp.git/': The requested URL returned error: 504

当我注册 Docker 跑步者时,Docker 选择的图像是 maven:3-jdk-7

我刚刚尝试添加值为 172.20.20.20 的 no_proxy 变量(Gitlab IP),但我得到了同样的错误(第一个。)

我该如何解决?有没有办法强制 Docker 跑步者(容器)使用 --net=host

我所做的是必须打开 mvnw 文件。在里面我发现了这一行

MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS"

在 ')' 和 $MAVEN_OPTS 之间我放置了

-Dhttps.proxyHost=yourHost -Dhttps.proxyPort=yourPort

参数。这对我有用。希望这可以帮助。我不需要您上面描述的 "variables" 部分。