Há alguma maneira de limpar o espaço de trabalho do Jenkins?
6 answers
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.
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.
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:
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/
- 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 /
- 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
Pode executar o script abaixo no gerir o Jenkins → scripts 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")
}
}
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]}
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")