AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1504098
Accepted
Manuel Jordan
Manuel Jordan
Asked: 2019-11-22 14:41:15 +0800 CST2019-11-22 14:41:15 +0800 CST 2019-11-22 14:41:15 +0800 CST

Qual é o nome correto do trabalho para excluir compilações antigas, mas trabalhando com pastas?

  • 772

Eu li estes links:

  • Limpe o histórico de compilação do Jenkins (limpe a compilação ontem)
  • Como excluo as compilações 11 a 1717 no Jenkins?
  • Jenkins: remova compilações antigas com linha de comando

Em primeiro lugar, trabalho em volta Folderse estes contêm Viewse estes, Jobsrespectivamente.

Considere o seguinte (para simplificar):

  • Pasta : jenkins-01 Visualizar : Trabalho alfa : Executar
  • Pasta : jenkins-02 Visualizar : betax Trabalho : Executar

De cima, duas observações importantes:

  • As pastasjenkins-01 e são para dois projetos diferentes.jenkins-02
  • O Execute Trabalho , pode ser repetido em várias Pastas diferentes , mas apenas sobre o nome.

Agora considere o seguinte:

Eu posso executar o Jobthrough:

Sem personalização View - portanto, a Allexibição padrão/genérica padrão:

  • http://localhost:9090/job/jenkins-01/job/Execute/

Através de muitos Views, digamos

  • http://localhost:9090/job/jenkins-01/view/alpha/job/Execute/
  • http://localhost:9090/job/jenkins-01/view/betax/job/Execute/

E todo o histórico ou rastreamento de compilações estão neste local de caminho:

  • /Users/username/ci/jenkins/Contents/jobs/jenkins-01/jobs/Execute

Console de scripts

Através do seguinte:

def jobName = ???

println jobName;

//I used any of them
//def job = Jenkins.getInstance().getItemByFullName(jobName, Job.class)
//def job = Jenkins.instance.getItem(jobName)

if(job != null) {
     job.getBuilds().each { println it }  
   //job.getBuilds().each { it.delete() }  
   //job.nextBuildNumber = 1   
   //job.save()
}
else
    println 'job is NULL'

Eu tentei muitas combinações sobre jobName(sobre ???) e sempre consigo null. Então, qual deve ser o valor correto para jobName?

Linha de comando

  • java -jar jenkins-cli.jar -s http://localhost:9090 delete-builds jobName=??? '1-56'

Novamente: qual deve ser o valor correto jobName?.

Lembre-se: cada um Jobé declarado em um Foldere o nome do Job (apenas o nome) pode ser repetido em muitosFolders

jenkins
  • 1 1 respostas
  • 544 Views

1 respostas

  • Voted
  1. Best Answer
    Ian W
    2019-12-14T01:55:34+08:002019-12-14T01:55:34+08:00

    Existe apenas um caminho autoritário para um trabalho - é job.fullName; isso é

    http://localhost:9090/job/jenkins-01/job/Execute/

    Isso lhe dará o resumo fullNamede todos os seus trabalhos:

    Jenkins.instance.allItems.findAll() 
        { it instanceof AbstractProject }.each 
        {println it.fullName}
    

    As exibições são apenas listas filtradas de trabalhos a serem exibidos. Você deve ver o mesmo histórico de trabalho em todas as visualizações.

    NB: É lamentável que o Jenkins permita trabalhos com o mesmo nome, pois se você "mover" um trabalho, poderá destruir outro em outra pasta com o mesmo nome.

    Atualização: o código a seguir selecionará todas as pastas de "nível superior" e as iterará, listando o conteúdo de cada uma. As condições para (ou não) processar recursivamente são anotadas. Existe apenas um identificador para um trabalho e é it.fullName.

    Você pode adicionar condições adicionais para limitar o escopo a pastas específicas ou padrões de nome de trabalho.

    import com.cloudbees.hudson.plugins.folder.*
    
    Folders =  Jenkins.instance.allItems.findAll() 
        { it instanceof com.cloudbees.hudson.plugins.folder.Folder && !it.fullName.contains("/")  
        // remove the && condition to retrieve nested folders
    }
    
    Folders.collect { folder ->
      println "::: " + folder.fullName
        // use folder.getItems().findAll() below to not recurse into nested folders
        folder.allItems.findAll()
        { it instanceof AbstractProject }.each 
        { println folder.fullName + ' - ' + it.fullName }
    }
    return
    
    • 2

relate perguntas

  • Jenkins: Qual é a configuração de permissão para "excluir esta compilação"?

  • Escravo do Enxame de Jenkins

  • conceder acesso a um comando apenas para determinados argumentos (chown para um caminho)

  • Como configurar um cluster Jenkins CI para desenvolvimento de plataforma única/cruzada?

  • Limpe o histórico de compilação do Jenkins (limpe a compilação ontem)

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    Serviço do Windows 10 chamado AarSvc_70f961. O que é e como posso desativá-lo?

    • 2 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Marko Smith

    ssl.SSLCertVerificationError: falha na verificação do certificado [SSL: CERTIFICATE_VERIFY_FAILED]: não foi possível obter o certificado do emissor local (_ssl.c:1056)

    • 4 respostas
  • Marko Smith

    Como posso saber em qual unidade o Windows está instalado?

    • 6 respostas
  • Martin Hope
    Albin Como faço para ativar o WindowsXP agora que o suporte acabou? 2019-11-18 03:50:17 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    Kagaratsch O Windows 10 exclui muitos arquivos minúsculos muito lentamente. Algo pode ser feito para agilizar? 2019-09-23 06:05:43 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    Inter Sys Como Ctrl+C e Ctrl+V funcionam? 2019-05-15 02:51:21 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve