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

时间:2016-03-31 13:43:23

标签: docker gitlab-ci gitlab-ci-runner

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

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

image: maven:3-jdk-7

build:
  script: "mvn clean package -B"

当触发构建时,我收到此错误(在Gitlab构建控制台中):

  

未知主机repo.maven.apache.org:名称或服务未知 - > [帮助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/&#39 ;:   请求的URL返回错误:504

当我注册Docker runner时,选择的Docker镜像为maven:3-jdk-7

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

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

1 个答案:

答案 0 :(得分:3)

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

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

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

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

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