Puncte:0

Dosarul de organizare a conductei Jenkins Multibranch cu JCasC care nu se inițializează la pornire - necesită „Salvare” prin UI

drapel cn

Configurez Jenkins 2.332.3 cu JCasC și conducta Multibranch. Conducta este în general OK, dar necesită să facem clic Acest folder este gol | Configurați proiectul și apoi salva pentru ca acesta să recunoască orice job atunci când instanța jenkins este inițializată pentru prima dată!

Comportament așteptat: Când pod-ul kubernetes este inițializat și Jenkins pornește pentru prima dată, ar trebui să afecteze automat conducta configurată de mai multe ramuri, instanțiând joburile. NU ar trebui să arate pagina web „Acest folder este gol | Configurați proiectul” și proiectul ar fi trebuit să fi fost deja „salvat”.

Orice idee despre cum să activați configurarea automată a proiectului cu mai multe ramuri va fi bine apreciată.

Codul nostru JCasC este mai jos:

locuri de munca: |
    locuri de munca:
      - script: >
          organizationFolder(„Organizația Xobabia”) {
            buildStrategies {
                skipInitialBuildOnFirstBranchIndexing()
            }
            descriere(„Organizația Xobabia”)
            displayName(„Organizația Xobabia”)
            // „Proiecte”
            organizatii {
              bitbucket {
                serverUrl("https://xobabia.com")
                repoOwner ("xobabia")
                credentialsId(„${XOBABIA_SECRET_BITBUCKET_APP_CREDS_USERNAME}”)
                // „Trasături” („Comportamente” în GUI) care sunt „compatibile cu declarația”
                // trasaturi {
                // webhookRegistrationTrait {
                // mod('ITEM')
                // }
                //}
              }
            }
            // „Trasături” („Comportamente” în GUI) care NU sunt „compatibile cu declarația”
            // Pentru unele „trăsături”, trebuie să configuram aceste lucruri manual până când JobDSL se ocupă de ele
            // https://issues.jenkins.io/browse/JENKINS-45504
            configura { node ->
                def caracteristici = nod / navigatori / 'com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMNavigator' / caracteristici
                // Filtrați după nume (cu expresie regulată)
                caracteristici << 'jenkins.scm.impl.trait.RegexSCMSourceFilterTrait' {
                    regex('infra-k8s-namespaces-and-quotas|infra-jenkins-tests|infra-aws-iam|infra-docker|infra-k8s-rbac|infra-terraform-keycloak')
                }
                // Descoperă ramuri
                trăsături << „com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait” {
                    strategieId('1')
                    // Valori
                    // 1: Excludeți sucursalele care sunt, de asemenea, depuse ca PR-uri
                    // 2 : Doar sucursalele care sunt de asemenea depuse ca PR-uri
                    // 3 : Toate ramurile
                }
                trăsături << 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait' {
                    credentialsId('bitbucket-ssh')
                }
                // Descoperiți solicitările de extragere de la origine
                caracteristici << 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait' {
                    strategieId('1')
                    // Valori
                    // 1: Îmbină cererea de extragere cu revizuirea curentă a ramurilor țintă
                    // 2 : Revizia curentă a cererii de extragere
                    // 3 : Atât revizuirea actuală a cererii de extragere, cât și cererea de extragere au fuzionat cu revizuirea curentă a ramurilor țintă
                }
                // Descoperiți solicitările de extragere din furci
                caracteristici << „com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait” {
                    strategieId('1')
                    // Valori
                    // 1: Îmbină cererea de extragere cu revizuirea curentă a ramurilor țintă
                    // 2 : Revizia curentă a cererii de extragere
                    // 3 : Atât revizuirea actuală a cererii de extragere, cât și cererea de extragere au fuzionat cu revizuirea curentă a ramurilor țintă
                    trustID('2')
                    // Valori
                    // 0 : Toată lumea
                    // 1 : Bifurcă în același cont
                    // 2 : Nimeni
                }
            }
            // „Recunoașterea proiectelor”
            projectFactory {
                workflowMultiBranchProjectFactory {
                    scriptPath „Jenkinsfile”
                }
            }
            // „Strategia articolului orfan”
            orphanedItemStrategy {
              discardOldItems {
                zile de păstrat(10)
                numToKeep(10)
              }
            }
            // „Declanșatoarele de foldere de organizare de scanare” : 1 zi
            // Trebuie să configuram aceste lucruri manual, deoarece JobDSL permite doar „periodic(int min)” pentru moment
            configura { node ->
              nod / declanșează / „com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger” {
                spec('H H * * *')
                interval (86400000)
              }
            }
          }

Mulţumesc mult

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.