2016-03-31 6 views
10

Ich möchte meine Maven/Java-App in einem Docker Gitlab CI-Runner packen.Probleme mit Proxy in Gitlab CI mit Docker Runner

Ich bin hinter einem Corporation-Proxy. Das ist mein .gitlab-ci.yml:

image: maven:3-jdk-7 

build: 
    script: "mvn clean package -B" 

Wenn ein Build ausgelöst wird, ich diesen Fehler (in der Konsole Gitlab bauen):

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

Dann habe ich

hinzugefügt
variables: 
    http_proxy: http://user:[email protected]:port 

zu die .gitlab-ci.yml. Aber ich habe einen anderen Fehler:

fatal: unable to access ' http://gitlab-ci-token:[email protected]:8080/myapp.git/ ': The requested URL returned error: 504

Als ich die Docker Läufer registriert, ausgewählt Docker Bild war maven:3-jdk-7.

Ich habe das Hinzufügen gerade versucht no_proxy Variable mit 172.20.20.20 als Wert (Gitlab IP), aber ich erhalte die gleiche Störung (die erste).

Wie kann ich es lösen? Gibt es eine Möglichkeit, den Docker Runner (Container) dazu zu zwingen, --net=host zu verwenden?

Antwort

1

Was ich tat war, dass ich das mvnw Dokument öffnen musste. Innerhalb davon fand ich diese Linie

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

Zwischen dem ')' und dem $ MAVEN_OPTS ich die

Argumente

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

platziert. Das hat für mich funktioniert. Hoffe das hilft. Ich habe den oben beschriebenen Abschnitt "Variablen" nicht benötigt.