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

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

2
โครงสร้างพื้นฐานการรวมอย่างต่อเนื่องสำหรับโครงการ iOS หลายโครงการ
ในฐานะนักพัฒนา iOS ฉันต้องการสร้างโครงสร้างพื้นฐาน CI และ CCQ (= คุณภาพรหัสต่อเนื่อง) สำหรับโครงการ iOS ที่เรามีในการพัฒนา เราใช้ Jenkins และ SonarQube สำหรับโครงการบนเว็บและ Android เกือบทั้งหมดแล้ว (โดยใช้โครงการ VM foreach การติดตั้งและกำหนดค่า CI และ CCQ เป็นไปโดยอัตโนมัติ) และใช้งานได้ดี แต่สำหรับโครงการ iOS เจนกินส์จำเป็นต้องสร้างบนคอมพิวเตอร์ที่ใช้ macOS ดังนั้นฉันไม่แน่ใจว่าฉันมีโซลูชันที่สมบูรณ์แบบสำหรับสิ่งนั้น ฉันกำลังมองหาวิธีแก้ปัญหาการจำลองเสมือน macOS สำหรับแต่ละโครงการเพื่อสร้าง macOS เสมือนและติดตั้ง Jenkins เป็นทาสที่นั่นเพื่อจัดการงานสร้าง โซลูชันดูสมบูรณ์แบบ แต่ดูเหมือนว่าผิดกฎหมายที่จะมี VM มากกว่า 2 เครื่องที่ทำงานกับ macOS (และแน่นอนว่าเฉพาะในคอมพิวเตอร์ Mac เท่านั้น) http://images.apple.com/legal/sla/docs/macOS1012.pdf …

3
จะไม่“ ดับไฟและลืม” เมื่อทำทริกเกอร์ระยะไกลของเจนกินส์สร้างได้อย่างไร
ฉันพยายามที่จะทริกเกอร์เจนกินส์ที่มีพารามิเตอร์จาก Bamboo ทำตามด้านล่าง: โพสต์ - http://jenkins-url.com/job/jobname/buildWithParameters?ENVIRONMENT=dev&APPLICATION=hello-world แต่ฉันจะได้ 201 ทันทีซึ่งบอกฉันว่าการสร้างถูกสร้างขึ้น ฉันจะทำให้คำขอนี้รอและคืนสถานะความสำเร็จของการสร้างแทนที่จะเป็นไฟและลืมได้อย่างไร เห็นได้ชัดว่ามันเป็นไปได้ตามParameterized-Remote-Trigger-Plugin : แก้ไข: สร้างสิ่งนี้ในท้ายที่สุดหากคุณต้องการ https://github.com/owenmorgan/jenkins-remote-builder

4
ฉันควรใช้ปลั๊กอินตัวใดเพื่อเริ่มต้นกับเจนกินส์เพื่อจัดการองค์ประกอบเมนเฟรมในรูปแบบ PDS
สมมติว่ามีคนคุ้นเคยกับ DevOps และเมนเฟรม แต่ใหม่สำหรับเจนกินส์ต้องการเริ่มต้นกับเจนกินส์เช่นไปที่: ตรวจสอบความเป็นไปได้ของการจัดการข้อมูลที่เก็บไว้ในไฟล์ส่วนบุคคล (PDS เช่นชุดข้อมูลที่แบ่งพาร์ติชัน ) บนเมนเฟรม (ดังนั้นยังไม่ได้จัดการโดยโซลูชัน SCMทั่วไปใด ๆ ที่มีอยู่สำหรับการจัดการซอฟต์แวร์เมนเฟรม ) เพื่อเรียกใช้ Jenkins ในสภาพแวดล้อมการพัฒนาส่วนบุคคลบางประเภทเช่นในสภาพแวดล้อม Linux ใน Virtual Box (หากมีเหตุผล) หลังจากการติดตั้งและกำหนดค่าเจนกินส์ (น้อยที่สุด) เสร็จสิ้นแล้วคำถามที่แท้จริงจะกลายเป็น " Which of the typical Jenkins plugins, if any, would be needed?" จากปลั๊กอินต่าง ๆ ของเจนกินส์ที่ดูเหมือนจะสมเหตุสมผลในกรณีของฉันดูเหมือนว่าสิ่งเหล่านี้เป็นตัวเลือกที่เป็นไปได้ (อัญประกาศมาจากหน้าที่เชื่อมโยง): ไอบีเอ็ม Zos เชื่อมต่อ ... จัดเตรียมฟังก์ชันผ่านการเชื่อมต่อ FTP กับ IBM z …

2
วิธีการเปิดใช้งานแคช NPM ใน Jenkins สร้างทาสที่ทำงานใน Docker?
ฉันมีภาพนักเทียบท่าเรียกมันfrontend.imageว่าฉันใช้สำหรับเจนกินส์สร้างทาส ปลั๊กอิน Jenkins Dockerจะหมุนคอนเทนเนอร์จากภาพนี้และสร้างสิ่งประดิษฐ์ภายในคอนเทนเนอร์ ทั้งหมดนี้ใช้งานได้ดี ในกรณีfrontend.imageนี้ใช้เพื่อสร้างแอป AngularJs ส่วนหนึ่งของการสร้างแอปพลิเคชันเชิงมุมนี้คือการติดตั้งแพคเกจ npm ที่แอปต้องการ กระบวนการนี้ติดตั้ง npm ดูเหมือนจะใช้เวลานาน 3 นาทีดูเหมือนว่า npm จะติดตั้งทุกแพ็คเกจทุกครั้ง ดังนั้นฉันจึงเพิ่มวอลลุ่มสำหรับทาสของฉันมันเป็นโวลุ่มที่เมาท์โฮสต์ปลั๊กอินนักเทียบท่าจะใช้วอลลุ่มนี้ทุกครั้งที่เรียกใช้คอนเทนเนอร์ส่วนหน้า: ผู้ใช้ที่รันคำสั่งคือnpm install jenkinsNPM เก็บแคชซึ่งคุณสามารถหาได้ด้วยคำสั่งnpm config get cacheที่เอาต์พุต/home/jenkins/.npm นั่นคือเหตุผลที่ฉันมีไดรฟ์ข้อมูลโฮสต์/slaves/volumes/tsl.frontend:/home/jenkinsติดตั้งกับทาสเว็บคอนเทนเนอร์ของฉัน ฉันสร้างแอปพลิเคชัน Angular ของฉันโดยใช้โครงการ Jenkins สร้างไม่มีปัญหาติดตั้งแพคเกจ npm จำนวนมาก ถ้า ssh เข้าสู่โฮสต์ Docker ของฉันและเรียกใช้ cmd ls /slaves/volumes/tsl.frontendฉันเห็นแพ็คเกจ npm มากมาย นี่หมายความว่าเมานต์วอลลุ่มของฉันสำหรับทาสทำงาน ตอนนี้ฉันสร้างโครงการเจนกินส์อีกครั้ง npm ติดตั้งทุกแพ็คเกจเดียวอีกครั้งแม้ว่าคอนเทนเนอร์สร้างทาสของนักเทียบท่าจะใช้เมานต์โฮสต์ปริมาณ ฉันยังสามารถยืนยันได้ด้วยการทุบตีลงในคอนเทนเนอร์ทาสด้วย cmd docker …
13 docker  jenkins  npm 

2
วิธีการตรวจสอบ Jenkins สร้างหน่วยความจำอิสระของผู้ปฏิบัติการ?
ในเจนกินส์เมื่อคลิกที่สถานะรูปร่างปฏิบัติการฉันเท่านั้นที่สามารถดูสถิติที่เกี่ยวข้องกับพื้นที่ว่างในดิสก์ (URI: /computer) ฉันจะตรวจสอบหน่วยความจำระบบว่าง (RAM) ในเจนกินส์ได้อย่างไร ฉันถามเพราะบางครั้งเมื่อฉันมีตัวจัดการมากเกินไป (แม้ว่าจะมีการกำหนดค่าพื้นที่สว็อป แต่ไม่ใช่ด้านล่าง) เจนกินส์ก็หยุดนิ่งหรือพังมาก

1
ส่งผ่านสตริงไปยังงาน Jenkins จาก Slack
ในโลกอุดมคติพนักงานที่มีความรู้ด้านเทคโนโลยีน้อยของเราสามารถใช้คำสั่ง Slack เพื่อทำงานและรับผลลัพธ์ที่ได้กลับคืนมา ฉันพบเริ่มสร้างในเจนกินส์โดยใช้คำสั่ง Slackบน GitHub แต่ก็มีข้อ จำกัด บางประการรวมถึงดูเหมือนว่าจะต้องใช้อัตราส่วน 1: 1 Heroku กับงานเจนกินส์ซึ่งไม่ดีสำหรับวัตถุประสงค์ของเรา ความคิดของฉันคือการให้คนใช้คำสั่งเอกพจน์เช่น/jenkinsและใช้พารามิเตอร์หลังจากนั้นจะแยกวิเคราะห์โดยงานหนึ่งและใช้เพื่อเตะคนอื่นดาวน์สตรีม ที่ทำให้เรามีคำสั่งหย่อน / ตัวอย่างหนึ่ง แต่ก็ยังให้ความยืดหยุ่นทั้งหมดที่เราต้องการ ปัญหาตรงกับการรับพารามิเตอร์ของเจนกินส์ ฉันนึกภาพบางอย่างเหมือนเวิร์กโฟลว์ต่อไปนี้ ประเภทผู้ใช้/Jenkins job2 param1 param2ใน Slack นี่คือการเรียกงานร่มที่จะแยกพารามิเตอร์เพื่อหาสิ่งที่จะเรียกใช้ คำสั่งถูกส่งไปยังงานร่มเจนกินส์ ตัวอย่าง Heroku การรวมโดยตรงกับ w / e งาน Umbrella ได้รับjob2 param1 param2เป็นสตริง (อาจเป็นค่าของพารามิเตอร์เดียวอาจแบ่งล่วงหน้าเป็นหลายฟิลด์) งานร่มแยกสตริงถ้ามันยังไม่ได้ทำไปแล้วและตัวเลขให้เห็นว่าผู้ใช้ต้องการjob2เรียกใช้พารามิเตอร์และparam1param2 งาน Umbrella จะสร้าง buildjob เพื่อเรียกใช้งานดาวน์สตรีมตามที่เรียกซึ่งจะทำให้ Slack กลับไปหาผู้ใช้งาน มันเป็นขั้นตอน 2-3 ที่ทำให้ฉันสะดุด …
12 jenkins  slack 

2
การใช้ sudo จากเจนกินส์นั้นแย่หรือไม่?
ฉันใช้ปลั๊กอินเผยแพร่ผ่าน SSHเพื่อปรับใช้แอพของฉันจากJenkinsสภาพแวดล้อมที่แตกต่างกัน งานปรับใช้บางอย่างทำหน้าที่เตรียมสภาพแวดล้อมและสิ่งต่าง ๆ เช่นหยุดและเริ่มบริการระบบเซิร์ฟเวอร์ของแอพใหม่ sudoบางส่วนของคำสั่งดังกล่าวจำเป็นต้องมี ฉันแค่อยากรู้ว่ามันอาจเป็นวิธีปฏิบัติด้านความปลอดภัยที่ไม่ดีหรือไม่ที่ต้องใช้ sudo ในการเผยแพร่ทางไกล เราควรเปลี่ยนนโยบายความปลอดภัยของโฮสต์เป้าหมายเพื่อให้สามารถใช้ฟังก์ชั่นที่ต้องการโดยไม่ต้อง sudo ได้หรือไม่?
11 jenkins  security 

3
Jenkins: ปัญหาการอนุญาตให้ใช้ Docker เป็นสภาพแวดล้อมการสร้าง
ฉันติดตั้ง Jenkins บนเครื่อง Ubuntu 16.04 เจนกินส์ตัวเองไม่ได้ทำงานในภาชนะ สิ่งที่ฉันต้องการจะทำก็แค่โทรหาyarn installโดยใช้อิมเมจโหนด ดังนั้นนี่คือ Jenkinsfile ของฉัน: pipeline { agent any stages { stage('install node modules...') { agent { docker 'node' } steps { sh 'cd /path/to/package.json; yarn install' } } } } ตรงไปตรงมาสวยใช่มั้ย เจนกินส์ผู้ใช้ / กลุ่ม112:116และ uid ของภาชนะโหนดคือ1000เพราะฉะนั้นกระบวนการเส้นด้าย (ซึ่งทำงานเป็นผู้ใช้โหนด 1000) mkdir /.configไม่สามารถทำในสิ่งที่ตนชอบ ฉันพยายามหมุนโหนดคอนเทนเนอร์ที่ผ่านการโต้เถียง-u 1000มันชนกับปัญหาสิทธิ์เมื่อพยายามสร้างไดเรกทอรีที่ทนทาน ดูเหมือนว่าเป็นปัญหาประเภทหนึ่งหรือประเภทอื่นฉันจะแก้ไขได้อย่างไร …

1
งานไปป์ไลน์ของเจนกินส์; การอ้างอิงที่เหมาะสมสำหรับขั้นตอน slackSend
นี่อาจเป็นข้อผิดพลาดของผู้ใช้ 100% แต่ฉันไม่สามารถรับงานไปป์ไลน์เพื่อใช้ตัวแปรเป็นชื่อช่องในขั้นตอน slackSend นี้ใช้ทั้งปลั๊กอินหย่อนและรูปร่างของผู้ใช้ Vars ปลั๊กอิน ฉันกำลังพยายามที่จะใช้BUILD_USER_FIRST_NAMEเพื่อระบุช่องทางที่จะหย่อนกลับไปที่ (เช่นคนที่เริ่มต้นการสร้างควรเป็นคนที่จะได้รับข้อความ) มีครึ่งหนึ่งของบทความนี้เกี่ยวกับวิธีใช้ปลั๊กอินผู้ใช้บิลด์ในงานไปป์ไลน์ แต่การแทนที่ตัวแปรกำลังทำให้ฉันสะดุด ส่วนที่เกี่ยวข้องของงานจะเป็นดังนี้ stage ('message') { wrap([$class: 'BuildUser']) { sh "printf '%s' ${BUILD_USER_FIRST_NAME} > name.txt" } archiveArtifacts artifacts: 'name.txt' name = readFile('name.txt') echo "name is $name" //works fine, I get Alex if ( "$output" != null ) { slackSend (channel: '@$name', …

2
การตั้งค่าการอนุญาตที่ถูกต้องเมื่อเรียกใช้ Docker ใน Jenkins Pipeline คืออะไร
ฉันพยายามดึงเจนกินส์ไปป์ไลน์ใหม่ด้วยกันเพื่อทดสอบคำขอดึงใหม่ไปยังโค้ดของเรา ฉันใช้นักเทียบท่าพร้อมกับubuntu:14.04ภาพเพื่อจำลองสภาพแวดล้อมการผลิตของเรา นี่คือตัวอย่างการทำงานขั้นต่ำ: #jenkinsfile stage('Checkout and provision'){ docker.image('ubuntu:14.04').withRun('-u root'){ checkout scm sh 'chmod -R 770 ./' sh './init-script.sh' } } และ #init-script.sh sudo add-apt-repository ppa:ondrej/php sudo apt-get update -y sudo apt-get dist-upgrade -y sudo apt-get install \ apache2 \ php \ php-mysql \ php-xml \ libapache2-mod-auth-mysql \ libapache2-mod-php \ php5-curl …
11 jenkins  docker 

1
จะอัปเกรดไฟล์ job-dsl เป็น Jenkins 2 pipelines ได้อย่างไร
มีวิธีปฏิบัติทั่วไปสำหรับการย้ายที่เก็บขนาดใหญ่ของ Jenkins job-dsl ไปยัง Jenkins2 pipelines หรือไม่? ฉันกำลังมองหาวิธีในการทดสอบพฤติกรรมของการสร้างที่ไปไกลกว่าการเปรียบเทียบของสิ่งประดิษฐ์ที่สร้างขึ้นจากฐานรหัสเดียวกัน จริงๆแล้วเรามีโครงสร้างพื้นฐานที่ค่อนข้างใหญ่ติดตั้งผ่าน Ansible และเรามีสภาพแวดล้อมการตรวจสอบที่เทียบเท่ากับการผลิตทอพอโลยีดังนั้นจึงไม่เป็นปัญหา ฉันสนใจวิธีการตรวจสอบที่เราสามารถทำได้โดยอัตโนมัติในขณะที่เราสร้างมากกว่า 300 ที่เก็บโครงการ

2
รับบันทึกการเปลี่ยนแปลงทั้งหมดตั้งแต่สร้างสำเร็จครั้งสุดท้ายใน Jenkins Pipeline
ในท่อส่งเจนกินส์ของฉันฉันจะได้รับบันทึกการเปลี่ยนแปลงของการสร้างปัจจุบันโดยสิ่งนี้ def changeLogSets = currentBuild.changeSets มีวิธีรับบันทึกการเปลี่ยนแปลงทั้งหมดหรือไม่ตั้งแต่สร้างสำเร็จครั้งล่าสุด

1
วิธีรวมข้อความ Slack ที่กำหนดเองเมื่อทำเสร็จแล้วเท่านั้น?
เรากำลังทำงานเจนกินส์กับประกาศหย่อนปลั๊กอิน มีวิธีการส่งข้อความที่กำหนดเองเท่านั้นเมื่อเสร็จสมบูรณ์ไม่ใช่ที่เริ่ม? เพื่อความชัดเจนฉันไม่ต้องการปิดใช้งานข้อความเริ่มต้นการสร้างฉันต้องการให้ข้อความที่กำหนดเองแสดงเมื่อเสร็จสิ้นแล้วเท่านั้น (สำเร็จ) ใช้กรณีเป็นงานเช่นลบสแต็ค เราใช้ข้อความที่กำหนดเองเพื่อให้ชัดเจนว่าสแต็คงานที่ลบ แต่คุณท้ายด้วยข้อความหย่อนเช่น (ถอดความ) Delete job started Deleted Alex stack Delete job finished Deleted Alex stack เห็นได้ชัดว่าคุณสามารถดูว่าสิ่งนี้ทำให้เกิดความสับสน ฉันอยากได้ Delete job started Delete job finished Deleted Alex stack "ไม่สามารถทำได้" เป็นคำตอบที่ยอมรับได้หากเป็นเช่นนั้น ฉันรู้ว่าฉันสามารถแก้ไขปัญหาท่อส่งได้ แต่ฉันชอบการแก้ไขด่วนสำหรับงานที่เรายังไม่ได้แปลง
11 jenkins  slack 

1
มีวิธีการปิดการใช้งานปลั๊กอินเจนกินส์สำหรับงานเดียวหรือไม่?
ฉันใช้ปลั๊กอิน Build timeoutเพื่อแจ้งเตือนเมื่องานค้าง ฉันมีงานหนึ่งที่ก่อให้เกิดการแจ้งเตือนนี้เพราะมันมีขั้นตอนที่มีเวลาดำเนินการนาน ฉันต้องการปิดใช้งานปลั๊กอินหมดเวลาบิลด์ แต่สำหรับงานนั้นเท่านั้นมีวิธีทำเช่นนั้นหรือไม่ ฉันใช้ Jenkins v2.22 เราไม่ใช้ตัวเลือกในตัวสำหรับงานที่จะไม่ยุติในการหมดเวลาเราใช้ sensu ปลั๊กอินเพื่อตรวจสอบสถานะของตัวแปรน่าจะติด

1
Elastic Beanstalk เหมาะสำหรับซีดีระดับองค์กรหรือไม่
ฉันทำงานกับโครงการที่ใช้ Jenkins เพื่อสร้างและปรับใช้ microservices กับ Elastic Beanstalk เราปรับใช้สาขาการรวมเข้ากับสภาพแวดล้อมการทดสอบ, ปล่อยสาขาไปยังสภาพแวดล้อมการจัดเตรียมและจากนั้นสร้างต้นแบบขั้นสุดท้ายเพื่อการผลิต ฉันมีข้อกังวลสองสามข้อเกี่ยวกับการทำเช่นนี้ก่อนอื่นหมายความว่าเราต้องจบลงด้วยเมทริกซ์หนึ่งบิวด์ต่อหนึ่งโครงการต่อสภาพแวดล้อม และสองหมายความว่าเราไม่ได้ปรับใช้โครงสร้างบิลด์เดียวกันกับการผลิตที่ได้รับการตรวจสอบความถูกต้องในการจัดเตรียม ฉันอยากละทิ้ง Beanstalk และย้ายไปที่ ASG ธรรมดาโดยใช้สิ่งต่าง ๆ เช่น Chef สำหรับการปรับใช้ นั่นจะทำให้เรามีหนึ่งบิลด์ต่อโครงการการผลิตสิ่งประดิษฐ์บิลด์และเราสามารถปรับใช้สิ่งประดิษฐ์เดียวกันกับการผลิตที่ได้รับอนุมัติในการจัดเตรียม การเปลี่ยนภาพมีค่าใช้จ่ายล่วงหน้าไม่สำคัญ มีวิธีใช้ Beanstalk ที่ดีกว่าซึ่งจะช่วยให้ CI / CD ที่เชื่อถือได้และง่ายต่อการจัดการมากขึ้นหรือไม่? หมายเหตุ : การส่งเสริมการสร้างสิ่งประดิษฐ์เดียวกันเป็นสิ่งที่ฉันต้องการทำ แต่จากเอกสารฉันไม่เห็นวิธีที่ชัดเจนในการทำเช่นนั้น มันอธิบายถึงวิธีการปรับใช้กับ EB จากแหล่งแอปของคุณ แต่ไม่ใช่วิธีการโปรโมตเวอร์ชันที่มีอยู่กับสภาพแวดล้อมอื่นเว้นแต่ว่าฉันจะเลื่อนผ่านได้เลย หากมีอยู่ใน EB เองอาจมีข้อ จำกัด ในปลั๊กอินการปรับใช้ Jenkins EB ที่ป้องกันไม่ให้ทำใน Jenkins โดยเฉพาะ แต่ฉันไม่เห็นวิธีที่จะทำเลย

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