Há alguma maneira de limpar o espaço de trabalho do Jenkins?

Como posso limpar o espaço de trabalho no Jenkins? Estou a usar {[[0]} como ferramenta de controlo de versões.

Eu criei projectos no Jenkins.

Author: Sergio, 2015-02-24

6 answers

Há uma maneira de limpar o espaço de trabalho no Jenkins. Você pode limpar o espaço de trabalho antes de construir ou depois de construir.

Primeiro, instalar 'plugin' de limpeza do espaço de trabalho .

Para limpar a área de trabalho antes de construir: Em ambiente de compilação, assinale a opção que diz apagar o espaço de trabalho antes do início da compilação.

Para limpar a área de trabalho após a compilação: Sob o Título acções pós-compilação seleccione apagar a área de trabalho quando a compilação terminar a partir da lista Adicionar acções pós-compilação.

 56
Author: Nagendra Singh, 2017-03-02 21:49:57

Se quiser limpá-lo manualmente, para mim com a minha versão particular do jenkins (não pareceu precisar de um plugin extra instalado, mas quem sabe), existe uma ligação "espaço de trabalho" na coluna esquerda, carregue nela, e então aparece uma ligação "limpar o espaço de trabalho actual" por baixo dela na coluna do lado esquerdo. screenshot

 28
Author: rogerdpack, 2018-08-28 19:14:23

Além das soluções acima, existe uma forma mais" comum " - excluir directamente o maior consumidor de espaço da máquina Linux. Você pode seguir os passos abaixo:

    Login para Jenkins machine (Putty) enter image description here
  1. cd para o caminho de instalação Jenkins

Usando o LS-lart para listar também a pasta escondida, normalmente o jenkin a instalação é colocada dentro .jenkins / folder

[xxxxx ~]$ ls -lart

drwxrwxr-x 12 xxxx  4096 Feb  8 02:08 .jenkins/
  1. enumerar os espaços de pastas

Use df -h para mostrar o espaço em disco a Alto Nível

du -sh ./*/ para listar a memória total de cada subpasta na actual caminho.

du -a /etc/ | sort -n -r | head -n 10 irá listar os 10 directórios de topo comer espaço em disco em /etc /

  1. apagar a compilação antiga ou outra pasta de tamanho grande
Normalmente ./job / folder or ./workspace / folder can be the largest pasta. Por favor, vá para dentro e apague a base sobre a qual necessita (não remova a pasta inteira).

rm -rf theFolderToDelete

enter image description here

 17
Author: Kevin Li, 2017-02-14 07:15:53

Pode executar o script abaixo no gerir o Jenkinsscripts consola para apagar os espaços de trabalho de todas as tarefas de uma vez. Fizemos isto para limpar o espaço no sistema de ficheiros.

import hudson.model.*
// For each project
for(item in Hudson.instance.items) {
  // check that job is not building
  if(!item.isBuilding()) {
    println("Wiping out workspace of job "+item.name)
    item.doDoWipeOutWorkspace()
  }
  else {
    println("Skipping job "+item.name+", currently building")
  }
}
 9
Author: Upen, 2016-10-14 16:41:57

Terá de instalar este 'plugin' antes que as opções acima mencionadas apareçam

'Plugin' De Limpeza Do Espaço De Trabalho

Este 'plugin' adiciona a opção a todas as configurações de tarefas para lhe permitir apagar toda a área de trabalho antes de executar quaisquer passos (controlo de código inc) {[[2]}

Isto é útil para se certificar de que começa sempre a partir de um ponto conhecido para garantir que a forma como constrói será executada {[[2]}

 1
Author: Keir, 2015-09-30 07:38:13

Não é permitido comentar, portanto:

A resposta de Upen funciona muito bem, mas não se você tem Jenkins Pipeline trabalhos misturados com trabalhos de estilo livre. Não existe um método como o "Dowipeworkespace" em trabalhos de canalização. Então eu modifiquei o Script a fim de saltar esses:

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")
  }
}

Também pode filtrar pelos nomes das tarefas, se necessário: item.getDisplayName().toLowerCase().contains("release")

 1
Author: achschneid, 2018-04-30 08:20:58