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

我想将我的Maven / Java应用程序打包到Docker Gitlab CI运行器中。

我在一个公司代理人的背后。 这是我的.gitlab-ci.yml

 image: maven:3-jdk-7 build: script: "mvn clean package -B" 

当一个构build被触发,我得到这个错误(在Gitlab生成控制台):

未知主机repo.maven.apache.org:名称或服务未知 – > [Help 1]

然后,我添加了

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

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

致命的:无法访问' http:// gitlab-ci-token:xxxxxx@170.20.20.20:8080 / myapp.git / ':请求的URL返回错误:504

当我注册Docker亚军时,select的Docker镜像是maven:3-jdk-7

我刚刚尝试添加no_proxyvariables作为值(Gitlab IP)172.20.20.20,但我得到相同的错误(第一个)。

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

我所做的是我不得不打开mvnw文件。 在里面我发现了这条线

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

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

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

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