web-dev-qa-db-fra.com

Comment changer d'espace de travail et créer un répertoire racine d'enregistrement sur Jenkins?

Je voudrais que les données de Jenkins soient écrites sur le lecteur "E:" car il s’agit du plus gros lecteur du serveur. Jenkins lui-même est installé sur "C:". 

Comment je fais ça?

La configuration par défaut que j'ai vue est la suivante: 

Répertoire racine de l'espace de travail: $ {ITEM_ROOTDIR}/workspace
Répertoire racine de l’enregistrement: $ {ITEM_ROOTDIR}/builds

Les modifications suivantes vont-elles m'aider à atteindre ce dont j'ai besoin? 

Répertoire racine de l'espace de travail: E:/Jenkins/workspace
Répertoire racine de l'enregistrement de la compilation: E:/Jenkins/builds/$ {ITEM_FULL_NAME}

De plus, que signifie "$ {ITEM_FULL_NAME}"?

27
Yaniv Ofer

Je l'ai compris ... Pour pouvoir enregistrer vos données Jenkins sur un autre lecteur, vous devez procéder comme suit:

Répertoire racine de l'espace de travail: E:\Jenkins\$ {ITEM_FULL_NAME}\workspace
Répertoire racine de l’enregistrement de la compilation: E:\Jenkins\$ {ITEM_FULL_NAME}\builds

Change Directory

33
Yaniv Ofer

EDIT: Selon d’autres commentaires, le bouton "Avancé ..." semble avoir été supprimé des versions plus récentes de Jenkins. Si votre version ne l’a pas, voir réponse de knorx .

J'ai eu le même problème et même après avoir trouvé cette ancienne demande d'extraction j'avais toujours du mal à trouver où spécifier le répertoire racine de l'espace de travail ou le répertoire racine de l'enregistrement des enregistrements au niveau du système, par opposition à la définition d'un espace de travail personnalisé pour chaque travail. .

Pour les définir:

  1. Accédez à Jenkins -> Manage Jenkins -> Configure System
  2. Tout en haut, sous Home directory, cliquez sur le bouton Advanced...: advanced button under Home directory
  3. Maintenant, les champs du répertoire racine de Workspace et du répertoire racine de l’enregistrement de construction apparaissent: additional directory options
  4. Les informations qui apparaissent si vous cliquez sur les bulles d’aide situées à gauche de chaque option sont très instructives. En particulier (à partir de l'aide du répertoire racine de l'espace de travail):

    Cette valeur peut inclure les variables suivantes:

    • ${JENKINS_HOME} - chemin absolu du répertoire personnel Jenkins
    • ${ITEM_ROOTDIR} - chemin absolu du répertoire dans lequel Jenkins stocke la configuration et les métadonnées associées pour un travail donné
    • ${ITEM_FULL_NAME} - Nom complet d'un travail donné, qui peut être séparé par une barre oblique, par exemple. toto/bar pour la barre des tâches dans le dossier toto


    La valeur doit normalement inclure ${ITEM_ROOTDIR} ou ${ITEM_FULL_NAME}, sinon différents travaux finiront par partager le même espace de travail.

18
c32hedge

Vous pouvez modifier le chemin sur le fichier config.xml dans le répertoire par défaut

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

Les variables dont vous avez besoin sont expliquées ici dans le wiki jenkins: https://wiki.jenkins.io/display/JENKINS/Features+controlled+by+system+properties

La variable par défaut ITEM_ROOTDIR pointe vers un répertoire de l'installation de Jenkins. Comme vous l'avez déjà découvert, il vous faut:

  • Répertoire racine de l'espace de travail: E:/myJenkinsRootFolderOnE/$ {ITEM_FULL_NAME}/workspace
  • Répertoire racine de l'enregistrement de la compilation: E:/myJenkinsRootFolderOnE/$ {ITEM_FULL_NAME}/builds

Pour ce faire, vous devez utiliser config.xml nowerdays. Citation de la page wiki liée ci-dessus:

C'était un paramètre d'interface utilisateur, mais a été supprimé dans la version 2.119 car ce n'était pas le cas supporte la migration des enregistrements de build existants et pourrait conduire à erreurs liées à la construction jusqu'au redémarrage.

6
knorx

Vous pouvez également modifier le fichier config.xml de votre répertoire JENKINS_HOME . Utilisez la réponse de c32hedge comme référence et définissez l'emplacement de l'espace de travail sur ce que vous voulez entre les balises.

0
Arier

Par défaut, Jenkins stocke toutes ses données dans ce répertoire sur le système de fichiers.

Il y a plusieurs façons de changer le répertoire personnel de Jenkins:

  • Modifiez la variable JENKINS_HOME dans votre fichier de configuration Jenkins (par exemple, /etc/sysconfig/jenkins sous Red Hat Linux).
  • Utilisez l'outil d'administration de votre conteneur Web pour définir la variable d'environnement JENKINS_HOME.
  • Définissez la variable d'environnement JENKINS_HOME avant de lancer votre conteneur Web ou avant de lancer Jenkins directement à partir du fichier WAR.
  • Définissez la propriété du système Java JENKINS_HOME lors du lancement de votre conteneur Web ou de Jenkins directement à partir du fichier WAR.
  • Modifiez web.xml dans jenkins.war (ou son image développée dans votre conteneur Web). Ceci n'est pas recommandé . Cette valeur ne peut pas être modifiée pendant l'exécution de Jenkins. Il est présenté ici pour vous aider à vous assurer que votre configuration prend effet.
0
Pravin

Je suggère de modifier le fichier/etc/default/jenkins

vi /etc/default/jenkins

Et changer la variable $ JENKINS_HOME (autour de la ligne 23) en

JENKINS_HOME=/home/jenkins

Puis redémarrez le Jenkins avec habituel

/etc/init.d/jenkins start

À votre santé!

0
Kathan Shah

Si vous allez dans Configure sous Home, il y a une "Aide" comment:

Répertoire de base/var/lib/jenkins Aide de fonction: Répertoire de base

Par défaut, Jenkins stocke toutes ses données dans ce répertoire sur le système de fichiers.

Il y a plusieurs façons de changer le répertoire personnel de Jenkins:

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. 

Cette valeur ne peut pas être modifiée lorsque Jenkins est en cours d’exécution . Elle est présentée ici pour vous aider à vous assurer que votre configuration prend effet.

0
Jorduino