webentwicklung-frage-antwort-db.com.de

Wie kann man den Arbeitsbereich ändern und das Datensatzverzeichnis auf Jenkins erstellen?

Ich möchte, dass die Daten von Jenkins auf Laufwerk "E:" geschrieben werden, da dies das große Laufwerk auf dem Server ist. Jenkins selbst ist auf "C:" installiert. 

Wie mache ich das?

Die Standardkonfiguration, die ich gesehen habe, ist: 

Arbeitsbereich-Stammverzeichnis: $ {ITEM_ROOTDIR}/Arbeitsbereich
Build Record-Stammverzeichnis: $ {ITEM_ROOTDIR}/builds

Werden die folgenden Änderungen mir helfen, das zu erreichen, was ich brauche? 

Arbeitsbereich-Stammverzeichnis: E:/Jenkins/Arbeitsbereich
Build Record-Stammverzeichnis: E:/Jenkins/builds/$ {ITEM_FULL_NAME}

Was bedeutet außerdem "$ {ITEM_FULL_NAME}"?

27
Yaniv Ofer

Ich habe es herausgefunden ... Um Ihre Jenkins-Daten auf einem anderen Laufwerk zu speichern, müssen Sie Folgendes tun:

Arbeitsbereich-Stammverzeichnis: E:\Jenkins\$ {ITEM_FULL_NAME}\Arbeitsbereich
Build Record-Stammverzeichnis: E:\Jenkins\$ {ITEM_FULL_NAME}\builds

Change Directory

33
Yaniv Ofer

EDIT: Laut anderen Kommentaren scheint die Schaltfläche "Erweitert ..." in neueren Versionen von Jenkins entfernt worden zu sein. Wenn Ihre Version nicht verfügbar ist, lesen Sie Antwort von knorx .

Ich hatte dasselbe Problem, und selbst nachdem ich diese alte Pull-Anforderung gefunden hatte, hatte ich immer noch Probleme, das Arbeitsbereichs-Stammverzeichnis oder das Datensatzregister-Stammverzeichnis auf Systemebene anzugeben, statt für jeden Job einen benutzerdefinierten Arbeitsbereich anzugeben .

Um diese einzustellen:

  1. Navigieren Sie zu Jenkins -> Manage Jenkins -> Configure System
  2. Klicken Sie oben rechts unter Home directory auf die Schaltfläche Advanced...: advanced button under Home directory
  3. Jetzt erscheinen die Felder für Workspace Root Directory und Build Record Root Directory: additional directory options
  4. Die Informationen, die angezeigt werden, wenn Sie auf die Hilfe-Blasen links von jeder Option klicken, sind sehr lehrreich. Insbesondere (aus der Hilfe des Workspace-Stammverzeichnisses):

    Dieser Wert kann die folgenden Variablen enthalten:

    • ${JENKINS_HOME} - Absoluter Pfad des Jenkins-Home-Verzeichnisses
    • ${ITEM_ROOTDIR} - Absoluter Pfad des Verzeichnisses, in dem Jenkins die Konfiguration und die zugehörigen Metadaten für einen bestimmten Job speichert
    • ${ITEM_FULL_NAME} - Der vollständige Name eines Auftrags, der durch einen Schrägstrich getrennt werden kann, z. foo/bar für die Jobleiste im Ordner foo


    Der Wert sollte normalerweise ${ITEM_ROOTDIR} oder ${ITEM_FULL_NAME} enthalten. Andernfalls verwenden unterschiedliche Jobs denselben Arbeitsbereich.

18
c32hedge

Sie können den Pfad der config.xml-Datei im Standardverzeichnis ändern

<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>D:/Workspace/${ITEM_FULL_NAME}</workspaceDir>
<buildsDir>D:/Logs/${ITEM_ROOTDIR}/Build</buildsDir>
11
adil ameen

Die benötigten Variablen werden hier im Jenkins-Wiki erklärt: https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties

Die Standardvariable ITEM_ROOTDIR verweist auf ein Verzeichnis in der Jenkins-Installation. Wie Sie bereits herausgefunden haben, benötigen Sie:

  • Arbeitsbereich-Stammverzeichnis: E:/myJenkinsRootFolderOnE/$ {ITEM_FULL_NAME}/Arbeitsbereich
  • Build-Record-Stammverzeichnis: E:/myJenkinsRootFolderOnE/$ {ITEM_FULL_NAME}/builds

Sie müssen dies heute über config.xml erreichen. Zitieren von der oben verlinkten Wiki-Seite:

Dies war früher eine UI-Einstellung, wurde aber in 2.119 entfernt, da es nicht .__ war. Unterstützung der Migration vorhandener Build-Datensätze und könnte zu .__ führen. Build-bezogene Fehler bis zum Neustart.

6
knorx

Sie können die Datei config.xml auch in Ihrem JENKINS_HOME-Verzeichnis bearbeiten. __ Verwenden Sie die Antwort von c32hedge als Referenz, und legen Sie den Arbeitsbereich auf den gewünschten Speicherort zwischen den Tags fest

0
Arier

Standardmäßig speichert Jenkins alle Daten in diesem Verzeichnis im Dateisystem.

Es gibt mehrere Möglichkeiten, das Jenkins-Home-Verzeichnis zu ändern:

  • Bearbeiten Sie die Variable JENKINS_HOME in Ihrer Jenkins-Konfigurationsdatei (z. B. /etc/sysconfig/jenkins unter Red Hat Linux).
  • Verwenden Sie das Admin-Tool Ihres Web-Containers, um die Umgebungsvariable JENKINS_HOME festzulegen.
  • Legen Sie die Umgebungsvariable JENKINS_HOME fest, bevor Sie Ihren Web-Container starten oder bevor Sie Jenkins direkt aus der WAR-Datei starten.
  • Legen Sie die Java-Systemeigenschaft JENKINS_HOME fest, wenn Sie Ihren Web-Container starten oder wenn Sie Jenkins direkt aus der WAR-Datei starten.
  • Ändern Sie web.xml in jenkins.war (oder das erweiterte Bild in Ihrem Web-Container). Dies wird nicht empfohlen. Dieser Wert kann nicht geändert werden, während Jenkins ausgeführt wird. Es wird hier angezeigt, um sicherzustellen, dass Ihre Konfiguration wirksam wird.
0
Pravin

Ich würde vorschlagen, die/etc/default/jenkins zu bearbeiten

vi /etc/default/jenkins

Und ändern Sie die $ JENKINS_HOME-Variable (um Zeile 23) in

JENKINS_HOME=/home/jenkins

Dann starten Sie die Jenkins mit üblich neu

/etc/init.d/jenkins start

Prost!

0
Kathan Shah

Wenn Sie unter "Konfigurieren" unter "Start" gehen, finden Sie eine "Hilfe", die Folgendes beschreibt:

Home-Verzeichnis/var/lib/jenkins Hilfe zur Funktion: Home-Verzeichnis

Standardmäßig speichert Jenkins alle Daten in diesem Verzeichnis im Dateisystem.

Es gibt mehrere Möglichkeiten, das Jenkins-Home-Verzeichnis zu ändern:

Edit the JENKINS_HOME variable in your Jenkins configuration file (e.g. /etc/sysconfig/jenkins on Red Hat Linux).
Use your web container's admin tool to set the JENKINS_HOME environment variable.
Set the environment variable JENKINS_HOME before launching your web container, or before launching Jenkins directly from the WAR file.
Set the JENKINS_HOME Java system property when launching your web container, or when launching Jenkins directly from the WAR file.
Modify web.xml in jenkins.war (or its expanded image in your web container). This is not recommended. 

Dieser Wert kann nicht geändert werden, während Jenkins ausgeführt wird.

0
Jorduino