jenkins - tag - graffitis




Existe-t-il un moyen de nettoyer l'espace de travail Jenkins? (6)

Comment puis-je nettoyer l'espace de travail dans Jenkins? J'utilise AccuRev comme outil de contrôle de version.

J'ai créé des projets de freestyle à Jenkins.


En supposant que la question concerne le nettoyage de l'espace de travail du travail en cours, vous pouvez exécuter:

test -n "$WORKSPACE" && rm -rf $WORKSPACE/*

Il existe un moyen de nettoyer l’espace de travail dans Jenkins. Vous pouvez nettoyer l'espace de travail avant ou après la construction.

Tout d'abord, installez le plug-in Workspace Cleanup .

Pour nettoyer l'espace de travail avant la construction: Sous Environnement de construction, cochez la case Supprimer l'espace de travail avant le début de la construction.

Pour nettoyer l’espace de travail après la construction: Sous l’en-tête Actions de post-génération, sélectionnez Supprimer l’espace de travail une fois la construction effectuée dans le menu déroulant Ajouter des actions de post-construction .


Si vous voulez le nettoyer manuellement, avec ma version de jenkins (il ne semble pas qu'un plugin supplémentaire soit installé, mais qui sait), il existe un lien "espace de travail" dans la colonne de gauche, cliquez sur votre projet, puis sur "espace de travail", un lien "Supprimer l’espace de travail actuel" apparaît en dessous, dans la colonne de gauche.


Vous devrez installer ce plugin avant que les options mentionnées ci-dessus apparaissent

Plugin de nettoyage d'espace de travail

Ce plugin ajoute la case à cocher à toutes les configurations de travaux pour vous permettre de supprimer tout l’espace de travail avant que n’importe quelle étape (y compris le contrôle de code source) ne soit exécutée.

Ceci est utile pour s'assurer que vous commencez toujours à partir d'un point connu pour garantir la manière dont vous construisez fonctionnera.


pas autorisé à commenter, donc:

La réponse d' fonctionne très bien, mais pas si vous avez mélangé Jenkins Pipeline Jobs avec Freestyle Jobs. Il n'existe pas de méthode telle que DoWipeWorkspace sur les travaux de pipeline. J'ai donc modifié le script pour ignorer ceux-ci:

import hudson.model.*
import org.jenkinsci.plugins.workflow.job.WorkflowJob

// For each project
for(item in Hudson.instance.items) {
  // check that job is not building
  if(!item.isBuilding() && !(item instanceof WorkflowJob))
  {
    println("Wiping out workspace of job "+item.name)
    item.doDoWipeOutWorkspace()
  }
  else {
    println("Skipping job "+item.name+", currently building")
  }
}

vous pouvez également filtrer par nom de travail si nécessaire: item.getDisplayName().toLowerCase().contains("release")






accurev