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}"?
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
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:
Jenkins
-> Manage Jenkins
-> Configure System
Home directory
, cliquez sur le bouton Advanced...
: 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.
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>
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:
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.
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.
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:
JENKINS_HOME
dans votre fichier de configuration Jenkins (par exemple, /etc/sysconfig/jenkins
sous Red Hat Linux).JENKINS_HOME
.JENKINS_HOME
avant de lancer votre conteneur Web ou avant de lancer Jenkins directement à partir du fichier WAR.JENKINS_HOME
lors du lancement de votre conteneur Web ou de Jenkins directement à partir du fichier WAR.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.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é!
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.