คำถามติดแท็ก jenkins

สำหรับคำถามเกี่ยวกับเจนกินส์เซิร์ฟเวอร์โอเพ่นซอร์สอัตโนมัติและการใช้เจนกินส์สำหรับหัวข้อต่าง ๆ เช่นการสร้างการทดสอบและการปรับใช้ซอฟต์แวร์เป็นต้นสำหรับคำถามที่เฉพาะเจาะจงเกี่ยวกับปลั๊กอินเจนกินส์ให้ใช้แท็กเจนกินส์ - ปลั๊กอิน


4
วิธีที่สะอาดที่สุดในการออกจากงาน Jenkins Pipeline ก่อนกำหนดเป็นความสำเร็จหรือไม่?
ฉันมีงานที่จะสร้างไฟล์ยกเว้นหนึ่งในค่าที่ถูกป้อนเข้ากับค่าที่เก่ากว่า อะไรคือวิธีที่สะอาดที่สุดในเจนกินส์ในการยกเลิกหรือออกจากงานโดยที่ไม่เป็นFAILED? SUCCESSมันออกเป็นพฤติกรรมที่ถูกต้องดังนั้นฉันต้องการสร้างที่มีเครื่องหมาย มันจะจบลงด้วยคำสั่ง if หากเป็นเช่นนั้น stage ('Check value') { if( $VALUE1 == $VALUE2 ) { //if they do match exit as a success, else continue with the rest of the job } } ฉันไม่ต้องการที่จะโยนรหัสข้อผิดพลาดเว้นแต่ว่าอย่างใดสามารถแปลเป็นถูกทำเครื่องหมายงานสร้างที่ประสบความสำเร็จ

3
วิธีการถอดรหัส Jenkins รหัสผ่านจาก credentials.xml?
ฉันได้เข้าร่วมโครงการที่หนังสือรับรองเจนกินส์จำนวนมากมีรหัสผ่านหรือสตริงข้อความรหัสผ่านที่ฉันต้องรู้เพื่อดำเนินการต่อกับโครงการโชคไม่ดีที่เอกสารเหล่านี้ไม่ได้ถูกบันทึกไว้ที่ใดเลย ฉันได้ตรวจสอบcredentials.xmlไฟล์ที่จัดเก็บข้อมูลรับรองเหล่านี้แล้ว แต่ไม่ได้เป็นข้อความธรรมดาเช่น: <passphrase>{AAAAAAAAAAAANzxft/rDzyt8mhxpn3O72dxvVqZksL5vBJ4jNKvAjAA=}</passphrase> หมายเหตุ: ฉันเปลี่ยนมันเล็กน้อยเพื่อความเป็นส่วนตัว ฉันจะถอดรหัสรหัสผ่านเดิมตามสตริงด้านบนได้อย่างไร

4
วิธีการปรับขนาดเจนกินส์อย่างถูกต้อง?
ในโครงการของฉันเรามีเซิร์ฟเวอร์ AWS หนึ่งเครื่องที่ใช้ Jenkins Master + 1 Jenkins slave (ผู้ปฏิบัติการ 2 คน) ... และเราต้องการมากขึ้น เพื่อเพิ่มพลังการสร้างของเราเรามีสามตัวเลือก: ขยายขนาด : ทำให้อินสแตนซ์ AWS ใหญ่ขึ้นและเพิ่มตัวจัดการเพิ่มเติม ขยายขนาด : ทำให้ AWS อินสแตนซ์ใหญ่ขึ้นและเพิ่มอีกกระบวนการทาสเจนกินส์ ลดขนาด : สร้างอินสแตนซ์ AWS ใหม่ด้วยทาสเจนกินส์และเชื่อมต่อกับต้นแบบ เราต้องการทำ 2. เนื่องจากเราอยู่ในองค์กรขนาดใหญ่และอาจารย์ Jenkins ปัจจุบันของเราสามารถเข้าถึงทุกที่ที่เขาต้องการ ตัวเลือกที่ 3 "เซิร์ฟเวอร์ใหม่" มีความซับซ้อนเนื่องจากต้องได้รับการอนุมัติจากทางราชการมากขึ้นซึ่งจะใช้เวลาหลายสัปดาห์ ดังนั้นคำถามของฉันคือ: มีปัญหาทางเทคนิคในตัวเลือก 2 หรือไม่? . บางทีผู้บริหารของทาสเจนกินส์แต่ละคนอาจไม่รู้จักผู้คุมทาสคนอื่น ๆ ? โดยทั่วไปแล้ววิธีที่ดีที่สุดในการเพิ่มขนาด Jenkins คืออะไร …

4
วิธีการบรรลุการกระทำขนานแบบไดนามิกอย่างเหมาะสมกับท่อส่งประกาศ
ปัจจุบันฉันจะต้องมีการใช้งานที่ต้องค้นหาไฟล์ทั้งหมดในไดเรกทอรีและเริ่มงานแบบขนานสำหรับทุกไฟล์ที่พบ เป็นไปได้ไหมที่จะใช้สิ่งนี้ได้โดยใช้ท่อส่ง pipeline { agent any stages { stage("test") { steps { dir ("file_path") { // find all files with complete path parallel ( // execute parallel tasks for each file found. // this must be dynamic } } } } } } }

7
วิธีการเริ่มต้นใหม่อย่างปลอดภัยเจนกินส์?
ฉันจำเป็นต้องทำการเปลี่ยนแปลงการกำหนดค่าบางอย่างในอินสแตนซ์ของเจนกินส์ของเราซึ่งจะเกี่ยวข้องกับการรีสตาร์ทเจนกินส์สองสามครั้ง อย่างไรก็ตามนักพัฒนาของเรายอมรับบ่อยพอที่ฉันไม่ได้เห็นเจนกินส์ที่ไม่มีงานทำในสามวัน มีวิธีดั้งเดิม (ผ่าน GUI หรือผ่านบรรทัดคำสั่ง) เพื่อเริ่มต้นใหม่อย่างปลอดภัย Jenkins หรือไม่ IE: รอให้งานปัจจุบันเสร็จก่อนที่จะลงและติดตามงานที่อยู่ในคิวเพื่อเริ่มต้นเมื่อ Jenkins กลับมาทำงานอีกครั้ง ฉันรู้ว่ามีปลั๊กอินแต่เพื่อที่จะติดตั้งฉันต้องรีสตาร์ทเจนกินส์ ...
19 jenkins 


2
เป็นไปได้หรือไม่ที่จะอัพเกรด Jenkins จาก Jenkins ด้วยตนเอง
ในการจัดการเจนกินส์ฉันมีข้อความว่า: เวอร์ชั่นใหม่ของ Jenkins (2.47) พร้อมให้ดาวน์โหลด (changelog) แล้ว มีวิธีการอัพเกรดเจนกินส์จาก GUI คล้ายกับปลั๊กอินหรือไม่? ฉันใช้ Jenkins ver 2.43 บน Linux
18 jenkins  upgrade 

2
วิธีการสร้างท่อส่งเจนกินส์ขนานที่ซับซ้อนได้อย่างไร
ฉันมีความสนใจในการแปลงเจนเนอร์ส bespoke ของเราเป็นท่อ อย่างไรก็ตามฉันไม่สามารถหาวิธีที่จะทำได้ ใครสามารถช่วยฉันด้วยสคริปต์เจนกินส์ที่สามารถทำต่อไปนี้? 1---2---3-----------9---10 | | |---4-------| | | |---5---6---| | | |---7---| 1: Start pipeline 10: End pipeline 5: Build some files * needed by 6, 7, * needed as artifacts at the end 2, 3, 4, 6, 7: Have jUnit result files, should be available at …

3
ตั้งค่างาน Jenkins เพื่อไม่คัดลอก repo ใน SCM
ฉันได้บูรณาการกับเจนกินส์ Bitbucket ใช้ปลั๊กอิน Bitbucket ตาม Wiki ของปลั๊กอินงานที่กำหนดจะถูกทริกเกอร์หากที่เก็บตั้งอยู่ใน SCM ของงาน อย่างที่คุณทราบถ้ามี SCM หนึ่งชุดในงาน Jenkins สิ่งนี้จะถูกโคลนในขั้นตอนการสร้างล่วงหน้า จนถึงตอนนี้ดีมาก อย่างไรก็ตามวัตถุประสงค์หลักของงานที่ฉันกำลังตั้งค่านั้นไม่เกี่ยวข้องกับเนื้อหาของที่เก็บ ฉันต้องการให้งานประมวลผลส่วนของข้อมูลที่ส่งโดย Bitbucket แทน อาจกล่าวได้ว่าไม่ใช่เรื่องใหญ่ในแง่ของการจัดเก็บเพื่อโคลนที่เก็บแม้ว่าคุณจะไม่ต้องการมัน ฉันไม่คิดอย่างนั้นการเพิ่มขั้นตอนที่ไม่จำเป็นการใช้เวลาและทรัพยากรไม่ใช่วิธีปฏิบัติที่ดี ดังนั้นคำถามคือ: ไม่มีใครรู้วิธีการตั้งค่า SCM ในงานเจนกินส์ แต่ป้องกันไม่ให้โคลนที่เก็บ?
17 jenkins 


3
วิธีตรวจสอบราคา AWS spot อัตโนมัติ?
ฉันกำลังคิดเกี่ยวกับงานของเจนกินส์เพื่อตรวจสอบราคาสำหรับกล่องตัวแทนที่เราหมุน บ่อยครั้งที่ราคาพุ่งสูงขึ้นและมันจะเป็นหนึ่งหรือสองชั่วโมงก่อนที่ใครก็ตามจะสังเกตเห็นว่าไม่มีตัวแทนใหม่เข้ามาแล้วเราจะต้องเข้าไปด้วยตนเองและตรวจสอบราคาสปอตแล้วปรับตามหรือเปลี่ยนโซน ฯลฯ สัญชาตญาณแรกของฉันคือเส้นทางที่ดีที่สุดคือการมีงาน Jenkins รายชั่วโมงที่เรียกใช้aws ec2 describe-spot-instance-requestsและตรวจสอบคำขอที่ล้มเหลว (และทำให้เราล้มเหลว) แต่ฉันสงสัยว่ามีวิธีที่สะอาดกว่าหรือไม่ซึ่งเกี่ยวข้องกับการเปรียบเทียบราคาที่ยากจริง ๆ (และอาจบอกเราได้อย่างชัดเจนว่าเกิดอะไรขึ้นและจำนวนเท่าไร) แทนที่จะดูคำขอที่ประสบความสำเร็จ / ล้มเหลว ใครตั้งค่าคล้ายกันบ้าง คุณจะทำอย่างไร

1
เรียกใช้กระบวนการพื้นหลังในงานไปป์ไลน์
ฉันกำลังมองหาวิธีเรียกใช้กระบวนการ Java ในพื้นหลังโดยใช้ขั้นตอนการประกาศ Jenkins ด้านล่างนี้เป็นตัวอย่างรหัส stage('Deploy'){ steps{ script{ withEnv(['BUILD_ID=dontkill']) { sh "nohup java -jar test-0.0.1-SNAPSHOT.war &" } } } } ทราบอยู่แล้วว่า ProcessTreeKiller ของ Jenkins และทุกคำตอบแนะนำให้ทำเช่นเดียวกัน ฉันได้ลองใช้สภาพแวดล้อมภายในขั้นตอนบล็อกโดยไม่มีโชค เวอร์ชั่นของ Jenkins: 2.60.1 ปลั๊กอินไปป์ไลน์: 1.1.7 ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก

3
คุณจะทดสอบการเปลี่ยนแปลงกับปลั๊กอินเจนกินส์ก่อนนำไปใช้งานได้อย่างไร
หากคุณถูกกัดโดยการอัพเกรดปลั๊กอินที่ทำลายฟังก์ชั่นบางอย่างคุณต้องให้ความคิดเกี่ยวกับปัญหานี้: นโยบายการอัพเกรดปลั๊กอินเจนกินส์ควรทำอย่างไร? คุณจะทดสอบการเปลี่ยนแปลงก่อนนำไปใช้งานได้อย่างไร มีใครไปเท่าที่มีอินสแตนซ์ทดสอบที่ใช้งานหลอกตาเพื่อทดสอบเวอร์ชันใหม่หรือคุณเพียงแค่อธิษฐานว่าการอัพเกรดเวอร์ชันจะไม่ทำลายอะไรเลยหรือ

3
ใช้ปลั๊กอิน Artifactory ในไปป์ไลน์ของ Jenkins
ฉันใช้ Jenkins Declarative Pipeline เพื่อสร้างกระบวนการสร้างของฉันโดยอัตโนมัติ เราต้องการเผยแพร่สิ่งประดิษฐ์ของเราไปยังที่เก็บ JFrog ระยะไกลเฉพาะเมื่อผ่านเงื่อนไขบางอย่าง (Sonar, Checkmarx) หลังจากการวิจัยเล็กน้อยฉันพบว่าปลั๊กอิน Artifactory มีประโยชน์สำหรับสิ่งนี้ แต่ฉันไม่สามารถหาเอกสารใด ๆ เกี่ยวกับวิธีการรวมในขั้นตอนการประกาศ ด้านล่างนี้เป็นข้อมูลโค้ดจาก Jenkinsfile stages{ stage('Pre-Build'){ steps{ script{ def server = Artifactory.server 'LocalJfrog' def rtGradle = Artifactory.newGradleBuild() rtGradle.resolver server: server, repo: 'gradle-dev-local' rtGradle.deployer server: server, repo: 'gradle-release-local' rtGradle.useWrapper = true } } } } การเผยแพร่แบบมีเงื่อนไขไม่สามารถทำได้ด้วยรหัสด้านบนเนื่องจากฉันไม่สามารถใช้ตัวแปรเซิร์ฟเวอร์ซ้ำได้แม้ว่าฉันจะปิดการใช้งานการเผยแพร่อัตโนมัติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.