2017-04-13 1 views
0

Ich habe ein Maven-Projekt, das ich auf einem jenkins-Server bereitgestellt habe, und ich möchte Code Coverage Report für meinen AngularJS-Code ausführen. Ich habe jenkins einen Dienst auf meinem lokalen Rechner installiert und lasse meine Tests laufen, wenn ich mein Projekt erstelle.Wie setze ich CHROME_BIN in jenkins bei der Bereitstellung für die winkelige Testabdeckung in die Produktion ein?

Die Prüfungen sind vorbei in Ordnung, aber wenn ich versuche, auf meinem Produktions-Server zu bauen, schlägt die Build bei dem Versuch, meine Tests auszuführen, und wirft diesen Fehler hier (ich habe nur eine Kopie Schädling des Fehlers)

[INFO] --- frontend-maven-plugin:1.0:grunt (grunt-karma) @ forecast-guardian-4 --- 
[INFO] Running 'grunt ' in /var/lib/jenkins/workspace/TaskName 
[INFO] Running "karma:unit" (karma) task 
ERROR [launcher]: [39mNo binary for Chrome browser on your platform. 
[INFO] Please, set "CHROME_BIN" env variable. 
[INFO] 
[INFO] 
[INFO] 
[INFO] [33mWarning: Task "karma:unit" failed. Use --force to continue.[39m 
[INFO] 
[INFO] [31mAborted due to warnings.[39m 
[INFO] 

Meine Forschung darüber zeigt, wie diese Variable gesetzt wird, wenn Sie auf dem lokalen Rechner sind, was ich übrigens nicht tun musste. Ich habe mich gefragt, ob jemand mir helfen kann, das zu konfigurieren.

Wie kann ich diese Variable einstellen, um etwas zu erzeugen, was here für das Setzen auf lokaler Maschine findet?

Weitere Informationen: Als dieser Fehler angezeigt wird, verwendet mein Projekt grunt, um den Test auszuführen.

Vielen Dank.

Antwort

1

Sie können entweder EnvInject plugin verwenden oder export CHROME_BIN=/your/path/here in .bash_profile einfügen und source ~/.bash_profile zu Beginn Ihrer Arbeit ausführen.

+0

Ich habe das bereits installiert. Aber ich verstehe nicht, wie ich dem Chrombehälter den Weg geben kann. Ich habe [ChromeDirver] installiert (https://wiki.jenkins-ci.org/display/JENKINS/ChromeDriver+plugin) und dachte mir, dass das das beheben wird, aber nein. Auf dem lokalen Rechner können Sie den Pfad wie 'CHROME_BIN =/usr/local/bin/my-chrome-build' verwenden, aber ich weiß nicht, wie ich das auf dem jenkins-Server reproduzieren kann. – mupierrix

+0

Es gibt einen Abschnitt in [diesem Dokument] (https://wiki.jenkin-ci.org/display/JENKINS/EnvInject+Plugin#EnvInjectPlugin-Configuration) namens 'At Job Level'>' Inject Variablen nach einem SCM Checkout' . Setzen Sie einfach 'CHROME_BIN =/usr/local/bin/my-chrome-build' in' Properties Content' und schon sollten Sie loslegen. – Jacob

+0

Ich habe das aber mit verschiedenen Versionen des Pfades versucht, aber kein Glück. Ich denke, ich könnte etwas vermissen, aber ich weiß nicht was. Ich teste weiter mit verschiedenen Pfaden, die auf die Variable CHROME_BIN gesetzt sind, und schaue, ob ich davon abhebe und weitergehe. – mupierrix

Verwandte Themen