2014-01-15 12 views
21

Woher kommen die Umgebungsvariablen unter Jenkins (jenkins verwalten -> Systeminformationen)?Umgebungsvariablen in Jenkins

Ich überprüfte /etc/init.d/tomcat5,/usr/bin/dtomcat5,/usr/bin/tomcat5,/etc/sysconfig/tomcat5 und/etc/profile aber sehe dort keine solchen Variablen speziell die solche, die sich auf Oracle beziehen (Basis, Home, Ld_lib Pfad usw.). Tomcat's bashrc hat einige Orakel-bezogene Variablen, die ich auskommentiert habe, aber ich sehe immer noch dasselbe in der jenkins-System-Infoseite. Irgendwelche Richtungen?

Antwort

33

Die Umgebungsvariablen in Jenkins angezeigt (verwalten Jenkins -> Systeminformationen) werden aus dem System (dh geerbt Umgebungsvariablen)

geerbt Wenn Sie env Befehl in einer Shell ausführen, sollten Sie die gleichen Umgebungsvariablen sehen wie Jenkins zeigt.

Diese Variablen werden entweder von der Shell/System oder von Ihnen in ~/.bashrc, ~/.bash_profile festgelegt.

Es gibt auch Umgebungsvariablen werden von Jenkins, wenn ein Auftrag ausgeführt wird, finden Sie hier:
https://wiki.jenkins-ci.org/display/JENKINS/Building+a+software+project#Buildingasoftwareproject-JenkinsSetEnvironmentVariables
aber diese sind nicht in den Systeminformationen angezeigt.

+0

Ich habe die Umgebungsvariable für das jenkins-Konto sowie das root-Konto für die TZ-Variable im ~/.bashrc, ~/.bash_profile beider Konten festgelegt. Der Befehl env in beiden Accounts listet TZ var setting auf. Aber die Jenkins/systemInfo-Seite zeigt TZ nicht an und mein Komponententest, der darauf beruht, schlägt fehl. Was könnte falsch sein? –

+0

@FarrukhNajmi Versuchen Sie, die Umgebungsvariable als systemweit in [/etc/environment](https://help.ubuntu.com/community/EnvironmentVariables#A.2BAC8-etc.2BAC8-environment) festzulegen oder die Dateien dort zu speichern, wo Sie ' Zu Beginn Ihres Build-Skripts haben Sie Ihre eigenen Variablen hinzugefügt. Siehe auch: https://stackoverflow.com/questions/5818403/jenkin-shudson-environment-variables – bitek

+1

Wenn Sie Jenkins unter Windows verwenden und es als Systemdienst ausgeführt wird, stellen Sie sicher, dass die Umgebungsvariablen systemweit festgelegt sind diejenigen, nicht pro Benutzer, sonst wird Jenkins sie nicht sehen können. – pxb

13

Was schließlich für mich gearbeitet wurde folgende Schritte:

  1. Configure Umwelt Injector Plugin: https://wiki.jenkins-ci.org/display/JENKINS/EnvInject+Plugin
  2. Springen zum/job // konfigurieren Bildschirm
  3. Im Bereich Umwelt-Check „Build-Umgebung Injizieren Variablen zu dem Build-Prozess“
  4. In "Eigenschaften Content" angegeben: TZ = America/New_York
+0

Ich versuche, eine Variable mit einem dynamischen Wert festzulegen. Können Sie in Schritt 4 einen Script/Batch-Befehl ausführen, um den Wert festzulegen? – NealR

+2

Das EnvInject-Plugin ermöglicht es Ihnen, die Umgebung mithilfe eines Shell-Skripts vorzubereiten, indem Sie entweder auf eine Skriptdatei verweisen (siehe Skriptdateipfad) oder indem Sie deren Inhalt einbeziehen (siehe Skriptinhalt). Ich würde mich über eine Abstimmung freuen und diese als die richtige Antwort markieren. Vielen Dank. –

Verwandte Themen