Score:0

โฟลเดอร์องค์กรไปป์ไลน์ Jenkins Multibranch ที่มี JCasC ไม่ได้เริ่มต้นเมื่อเริ่มต้น - ต้อง "บันทึก" ผ่าน UI

ธง cn

ฉันกำลังกำหนดค่า Jenkins 2.332.3 ด้วย JCasC และไปป์ไลน์ Multibranch โดยทั่วไปไปป์ไลน์นั้นใช้ได้ แต่ต้องการให้เราคลิก โฟลเดอร์นี้ว่างเปล่า | กำหนดค่าโครงการ แล้ว บันทึก เพื่อให้จดจำงานใด ๆ เมื่อมีการเริ่มต้นอินสแตนซ์ของเจนกินส์เป็นครั้งแรก!

พฤติกรรมที่คาดหวัง: เมื่อ kubernetes pod เริ่มต้นและ Jenkins เริ่มทำงานเป็นครั้งแรก ควรมีผลกับไปป์ไลน์แบบหลายสาขาที่กำหนดค่าไว้โดยอัตโนมัติ และสร้างอินสแตนซ์ของงาน ไม่ควรแสดงหน้าเว็บ "โฟลเดอร์นี้ว่างเปล่า | กำหนดค่าโครงการ" และโครงการควรได้รับการ "บันทึก" แล้ว

แนวคิดใด ๆ เกี่ยวกับวิธีเปิดใช้งานการกำหนดค่าอัตโนมัติของโครงการหลายสาขาจะได้รับการชื่นชมเป็นอย่างดี

รหัส JCasC ของเราอยู่ด้านล่าง:

งาน: |
    งาน:
      - สคริปต์: >
          organizationFolder ('องค์กร Xobabia') {
            สร้างกลยุทธ์ {
                ข้ามInitialBuildOnFirstBranchIndexing()
            }
            คำอธิบาย ("องค์กร Xobabia")
            displayName('องค์กร Xobabia')
            // "โครงการ"
            องค์กร {
              บิตบัคเก็ต {
                serverUrl("https://xobabia.com")
                repoOwner("xobabia")
                credentialsId("${XOBABIA_SECRET_BITBUCKET_APP_CREDS_USERNAME}")
                // "ลักษณะ" ("พฤติกรรม" ใน GUI) ที่ "เข้ากันได้กับการประกาศ"
                // ลักษณะ {
                // webhookRegistrationTrait {
                // โหมด ('รายการ')
                // }
                //}
              }
            }
            // "ลักษณะ" ("พฤติกรรม" ใน GUI) ที่ไม่ "เข้ากันได้กับการประกาศ"
            // สำหรับคุณสมบัติบางอย่าง เราจำเป็นต้องกำหนดค่าสิ่งนี้ด้วยมือจนกว่า JobDSL จะจัดการมัน
            // https://issues.jenkins.io/browse/JENKINS-45504
            กำหนดค่า { โหนด ->
                ลักษณะ def = โหนด / ตัวนำทาง / 'com.cloudbees.jenkins.plugins.bitbucket.BitbucketSCMNavigator' / ลักษณะ
                // กรองตามชื่อ (ด้วยนิพจน์ทั่วไป)
                ลักษณะ << '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')
                }
                // ค้นพบสาขา
                ลักษณะ << 'com.cloudbees.jenkins.plugins.bitbucket.BranchDiscoveryTrait' {
                    รหัสกลยุทธ์ ('1')
                    //ค่า
                    // 1 : ยกเว้นสาขาที่ยื่นเป็น PR ด้วย
                    // 2 : เฉพาะสาขาที่ยื่นแบบพีอาร์ด้วย
                    // 3 : ทุกสาขา
                }
                ลักษณะ << 'com.cloudbees.jenkins.plugins.bitbucket.SSHCheckoutTrait' {
                    รหัสประจำตัว ('bitbucket-ssh')
                }
                // ค้นหาคำขอดึงจากจุดเริ่มต้น
                ลักษณะ << 'com.cloudbees.jenkins.plugins.bitbucket.OriginPullRequestDiscoveryTrait' {
                    รหัสกลยุทธ์ ('1')
                    //ค่า
                    // 1 : ผสานคำขอดึงกับการแก้ไขสาขาเป้าหมายปัจจุบัน
                    // 2 : การแก้ไขคำขอดึงปัจจุบัน
                    // 3 : ทั้งการแก้ไขคำขอดึงปัจจุบันและคำขอดึงรวมกับการแก้ไขสาขาเป้าหมายปัจจุบัน
                }
                // ค้นหาคำขอดึงจากส้อม
                ลักษณะ << 'com.cloudbees.jenkins.plugins.bitbucket.ForkPullRequestDiscoveryTrait' {
                    รหัสกลยุทธ์ ('1')
                    //ค่า
                    // 1 : ผสานคำขอดึงกับการแก้ไขสาขาเป้าหมายปัจจุบัน
                    // 2 : การแก้ไขคำขอดึงปัจจุบัน
                    // 3 : ทั้งการแก้ไขคำขอดึงปัจจุบันและคำขอดึงรวมกับการแก้ไขสาขาเป้าหมายปัจจุบัน
                    trustID('2')
                    //ค่า
                    // 0 : ทุกคน
                    // 1 : Forks ในบัญชีเดียวกัน
                    // 2 : ไม่มีใคร
                }
            }
            // "ผู้จำแนกโครงการ"
            โครงการโรงงาน {
                เวิร์กโฟลว์ MultiBranchProjectFactory {
                    scriptPath 'เจนกินส์ไฟล์'
                }
            }
            // "กลยุทธ์ไอเท็มกำพร้า"
            orphanedItemStrategy {
              ละทิ้งรายการเก่า {
                วันที่ต้องเก็บ(10)
                numToKeep(10)
              }
            }
            // "ทริกเกอร์โฟลเดอร์สแกนองค์กร" : 1 วัน
            // เราจำเป็นต้องกำหนดค่าสิ่งนี้ด้วยมือ เนื่องจาก JobDSL อนุญาตเฉพาะ 'periodic(int min)' เท่านั้นในตอนนี้
            กำหนดค่า { โหนด ->
              โหนด / ทริกเกอร์ / 'com.cloudbees.hudson.plugins.folder.computed.PeriodicFolderTrigger' {
                ข้อมูลจำเพาะ ('H H * * *')
                ช่วงเวลา (86400000)
              }
            }
          }

ขอบคุณมาก

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา