บทช่วยสอนของเจนกินส์
Jenkins เป็นหนึ่งในเครื่องมือที่สำคัญที่สุดใน . ฉันหวังว่าคุณจะได้อ่านบล็อกก่อนหน้านี้ใน . ในบล็อก Jenkins Tutorial นี้ฉันจะเน้นที่สถาปัตยกรรมของเจนกินส์และเจนกินส์สร้างไปป์ไลน์พร้อมกับที่ฉันจะแสดงวิธีสร้างงานสร้างในเจนกินส์
ก่อนที่เราจะดำเนินการกับ Jenkins Tutorial ประเด็นสำคัญจากบล็อกก่อนหน้านี้คือ:
- Jenkins ใช้เพื่อรวมขั้นตอน DevOps ทั้งหมดด้วยความช่วยเหลือของปลั๊กอิน
- ปลั๊กอิน Jenkins ที่ใช้กันทั่วไป ได้แก่ Git, Amazon EC2, โครงการ Maven 2, ผู้เผยแพร่ HTML เป็นต้น
- Jenkins มีปลั๊กอินมากกว่า 1,000 รายการและการติดตั้งที่ใช้งานอยู่ 147,000 ครั้งพร้อมกับผู้ใช้มากกว่า 1 ล้านคนทั่วโลก
- ด้วยการผสานรวมอย่างต่อเนื่องทุกการเปลี่ยนแปลงที่เกิดขึ้นในซอร์สโค้ดคือสร้างขึ้น มันทำหน้าที่อื่น ๆ เช่นกันขึ้นอยู่กับเครื่องมือที่ใช้สำหรับการผสานรวมแบบต่อเนื่อง
- Nokia เปลี่ยนจาก Nightly build เป็น Continuous Integration
- กระบวนการก่อนการผสานรวมอย่างต่อเนื่องมีข้อบกพร่องมากมาย ด้วยเหตุนี้จึงไม่เพียง แต่การส่งมอบซอฟต์แวร์ที่ช้า แต่คุณภาพของซอฟต์แวร์ก็ไม่เป็นไปตามที่กำหนด นักพัฒนายังมีช่วงเวลาที่ยากลำบากในการค้นหาและแก้ไขข้อบกพร่อง
- การผสานรวมอย่างต่อเนื่องกับ Jenkins เอาชนะข้อบกพร่องเหล่านี้โดยการเรียกใช้การสร้างและทดสอบอย่างต่อเนื่องสำหรับทุกการเปลี่ยนแปลงที่เกิดขึ้นในซอร์สโค้ด
ตอนนี้เป็นเวลาที่ถูกต้องในการทำความเข้าใจสถาปัตยกรรมของเจนกินส์
สถาปัตยกรรม Jenkins
ให้เราแก้ไขสถาปัตยกรรม Jenkins แบบสแตนด์อโลนที่ฉันได้อธิบายให้คุณฟังในไฟล์ แผนภาพด้านล่างแสดงให้เห็นถึงสิ่งเดียวกัน
เซิร์ฟเวอร์ Jenkins เดียวนี้ไม่เพียงพอที่จะตอบสนองความต้องการบางประการเช่น:
- บางครั้งคุณอาจต้องการสภาพแวดล้อมที่แตกต่างกันเพื่อทดสอบงานสร้างของคุณ สิ่งนี้ไม่สามารถทำได้โดยเซิร์ฟเวอร์ Jenkins เพียงเครื่องเดียว
- หากมีการสร้างโครงการขนาดใหญ่และหนักขึ้นเป็นประจำเซิร์ฟเวอร์ Jenkins เพียงเครื่องเดียวก็ไม่สามารถรองรับภาระทั้งหมดได้
เพื่อตอบสนองความต้องการที่ระบุไว้ข้างต้นจึงมีการนำสถาปัตยกรรมแบบกระจายของเจนกินส์มาใช้
Jenkins สถาปัตยกรรมแบบกระจาย
Jenkins ใช้สถาปัตยกรรม Master-Slave เพื่อจัดการงานสร้างแบบกระจาย ในสถาปัตยกรรมนี้ Master และ Slave สื่อสารผ่านโปรโตคอล TCP / IP
เจนกินส์มาสเตอร์
เซิร์ฟเวอร์ Jenkins หลักของคุณคือ Master งานของอาจารย์คือจัดการ:
สร้างอาร์เรย์ของวัตถุ
- การจัดกำหนดการงานสร้าง
- การส่งงานสร้างไปยังทาสเพื่อดำเนินการจริง
- ตรวจสอบทาส (อาจนำพวกเขาออนไลน์และออฟไลน์ตามต้องการ)
- การบันทึกและนำเสนอผลการสร้าง
- อินสแตนซ์ Master ของ Jenkins ยังสามารถเรียกใช้งานบิลด์ได้โดยตรง
เจนกินส์ทาส
Slave เป็นไฟล์ปฏิบัติการ Java ที่รันบนเครื่องระยะไกล ต่อไปนี้เป็นลักษณะของ Jenkins Slaves:
- มันได้ยินคำขอจากอินสแตนซ์ Jenkins Master
- Slaves สามารถทำงานบนระบบปฏิบัติการที่หลากหลาย
- งานของทาสคือทำตามที่พวกเขาบอกซึ่งเกี่ยวข้องกับการดำเนินการงานสร้างที่ส่งโดยอาจารย์
- คุณสามารถกำหนดค่าโครงการให้ทำงานบนเครื่อง Slave เฉพาะหรือเครื่อง Slave ประเภทใดประเภทหนึ่งหรือเพียงแค่ให้ Jenkins เลือก Slave ที่มีอยู่เครื่องถัดไป
แผนภาพด้านล่างอธิบายได้ด้วยตนเอง ประกอบด้วย Jenkins Master ซึ่งจัดการ Jenkins Slave สามคน
ตอนนี้ให้เราดูตัวอย่างที่ Jenkins ใช้สำหรับการทดสอบในสภาพแวดล้อมต่างๆเช่น Ubuntu, MAC, Windows เป็นต้น
แผนภาพด้านล่างแสดงถึงสิ่งเดียวกัน:
ฟังก์ชันต่อไปนี้ดำเนินการในภาพด้านบน:
- Jenkins ตรวจสอบที่เก็บ Git เป็นระยะสำหรับการเปลี่ยนแปลงที่เกิดขึ้นในซอร์สโค้ด
- แต่ละบิลด์ต้องการสภาพแวดล้อมการทดสอบที่แตกต่างกันซึ่งเป็นไปไม่ได้สำหรับเซิร์ฟเวอร์ Jenkins เครื่องเดียว เพื่อทำการทดสอบในสภาพแวดล้อมที่แตกต่างกัน Jenkins ใช้ Slaves ต่างๆดังแสดงในแผนภาพ
- Jenkins Master ขอให้ Slaves เหล่านี้ทำการทดสอบและสร้างรายงานการทดสอบ
Jenkins สร้างไปป์ไลน์
ใช้เพื่อทราบว่าเจนกินส์กำลังดำเนินการงานใดอยู่ บ่อยครั้งที่นักพัฒนาหลายคนทำการเปลี่ยนแปลงหลายอย่างพร้อมกันดังนั้นจึงเป็นประโยชน์ที่จะทราบว่าการเปลี่ยนแปลงใดกำลังได้รับการทดสอบหรือการเปลี่ยนแปลงใดที่อยู่ในคิวหรือโครงสร้างใดเสีย นี่คือจุดที่ไปป์ไลน์มาสู่ภาพ Jenkins Pipeline ช่วยให้คุณเห็นภาพรวมว่าการทดสอบขึ้นอยู่กับที่ใด ในการสร้างไปป์ไลน์การสร้างโดยรวมจะแบ่งออกเป็นส่วนต่างๆเช่นขั้นตอนการทดสอบหน่วยการทดสอบการยอมรับบรรจุภัณฑ์การรายงานและการปรับใช้ ขั้นตอนไปป์ไลน์สามารถดำเนินการแบบอนุกรมหรือแบบขนานและหากเฟสหนึ่งสำเร็จจะย้ายไปยังเฟสถัดไปโดยอัตโนมัติ (ดังนั้นความเกี่ยวข้องของชื่อ 'ไปป์ไลน์') ภาพด้านล่างแสดงให้เห็นว่าการสร้างหลายท่อมีลักษณะอย่างไร
ทำไมเราต้องใช้ serialization ใน java
หวังว่าคุณจะเข้าใจแนวคิดทางทฤษฎี ตอนนี้เรามาสนุกกับการลงมือทำกันเถอะ
ฉันจะสร้างงานใหม่ในเจนกินส์มันคือ โครงการฟรีสไตล์ . อย่างไรก็ตามยังมีอีก 3 ทางเลือก ให้เราดูประเภทของงานสร้างที่มีอยู่ใน Jenkins
โครงการฟรีสไตล์:
งานสร้างแบบฟรีสไตล์เป็นงานสร้างตามวัตถุประสงค์ทั่วไปซึ่งให้ความยืดหยุ่นสูงสุดงานสร้างแบบฟรีสไตล์เป็นตัวเลือกที่ยืดหยุ่นและกำหนดค่าได้มากที่สุดและสามารถใช้กับโครงการประเภทใดก็ได้ การตั้งค่าค่อนข้างตรงไปตรงมาและตัวเลือกมากมายที่เรากำหนดค่าไว้ที่นี่ก็ปรากฏในงานบิลด์อื่น ๆ
งาน Multiconfiguration:“ โครงการหลายคอนฟิกูเรชัน” (เรียกอีกอย่างว่า“ โครงการเมทริกซ์”) ช่วยให้คุณรันงานบิลด์เดียวกันบนสภาพแวดล้อมที่แตกต่างกัน ใช้สำหรับทดสอบแอปพลิเคชันในสภาพแวดล้อมที่แตกต่างกันโดยมีฐานข้อมูลที่แตกต่างกันหรือแม้กระทั่งในเครื่องสร้างที่แตกต่างกัน
ตรวจสอบงานภายนอก:
งานบิวด์“ ตรวจสอบงานภายนอก” ช่วยให้คุณสามารถจับตาดูกระบวนการที่ไม่โต้ตอบเช่นงาน cron
โครงการ Maven:
“ โครงการ maven2 / 3” เป็นงานสร้างที่ปรับให้เข้ากับโครงการ Maven โดยเฉพาะ Jenkins เข้าใจไฟล์ Maven pom และโครงสร้างโครงการและสามารถใช้ข้อมูลที่รวบรวมจากไฟล์ pom เพื่อลดงานที่คุณต้องทำเพื่อตั้งค่าโครงการของคุณ
นี่คือวิดีโอเกี่ยวกับบทช่วยสอนของเจนกินส์เพื่อให้เข้าใจเจนกินส์มากขึ้น ดูวิดีโอแนะนำ Jenkins นี้
เริ่มต้นกับ Jenkins | บทช่วยสอน Jenkins และ DevOps | Jenkins สำหรับผู้เริ่มต้น | Edureka
การสร้างงานสร้างโดยใช้ Jenkins
ขั้นตอนที่ 1: จากหน้าแรกของอินเทอร์เฟซ Jenkins เลือก ไอเท็มใหม่.
ขั้นตอนที่ 2: ป้อนชื่อและเลือก โครงการฟรีสไตล์ .
ขั้นตอนที่ 3: หน้าถัดไปนี้เป็นที่ที่คุณระบุการกำหนดค่างาน ดังที่คุณจะสังเกตได้อย่างรวดเร็วมีการตั้งค่าหลายอย่างที่พร้อมใช้งานเมื่อคุณสร้างโครงการใหม่ในหน้าการกำหนดค่านี้คุณยังมีตัวเลือกในการ เพิ่มขั้นตอนการสร้าง เพื่อดำเนินการเพิ่มเติมเช่นการเรียกใช้สคริปต์ ฉันจะรันเชลล์สคริปต์
ซึ่งจะทำให้คุณมีกล่องข้อความที่คุณสามารถเพิ่มคำสั่งที่ต้องการได้ คุณสามารถใช้สคริปต์เพื่อเรียกใช้งานต่างๆเช่นการบำรุงรักษาเซิร์ฟเวอร์การควบคุมเวอร์ชันการอ่านการตั้งค่าระบบ ฯลฯ ฉันจะใช้ส่วนนี้เพื่อเรียกใช้สคริปต์อย่างง่าย
ขั้นตอนที่ 4: บันทึกโครงการและคุณจะเข้าสู่หน้าภาพรวมโครงการ คุณสามารถดูข้อมูลเกี่ยวกับโครงการรวมถึงประวัติการสร้างโครงการได้ที่นี่
ขั้นตอนที่ 5: คลิก สร้างเลย ทางด้านซ้ายมือเพื่อเริ่มการสร้าง
ขั้นตอนที่ 6: หากต้องการดูข้อมูลเพิ่มเติมให้คลิกที่โครงสร้างนั้นในพื้นที่ประวัติการสร้างจากนั้นคุณจะเข้าสู่หน้าที่มีภาพรวมของข้อมูลการสร้าง
ขั้นตอนที่ 7: เอาต์พุตคอนโซล ลิงค์ในหน้านี้มีประโยชน์อย่างยิ่งสำหรับการตรวจสอบผลลัพธ์ของงานโดยละเอียด
การใช้งานฮีปสูงสุดใน java
ขั้นตอนที่ 8: หากคุณกลับไปที่บ้านของเจนกินส์คุณจะเห็นภาพรวมของโครงการทั้งหมดและข้อมูลของโครงการรวมถึงสถานะ
สถานะของงานสร้างจะระบุได้สองวิธีโดยไอคอนสภาพอากาศและลูกบอลสี ไอคอนสภาพอากาศมีประโยชน์อย่างยิ่งเนื่องจากจะแสดงบันทึกการสร้างหลายรายการในภาพเดียว
ดังที่คุณเห็นในภาพด้านบนดวงอาทิตย์แสดงให้เห็นว่างานสร้างทั้งหมดของฉันประสบความสำเร็จ สีของลูกบอลทำให้เรามีสถานะของโครงสร้างนั้น ๆ ในภาพด้านบนสีของลูกบอลเป็นสีน้ำเงินซึ่งหมายความว่างานสร้างนี้สำเร็จแล้ว
ในบทช่วยสอนของเจนกินส์นี้ฉันได้ยกตัวอย่างเบื้องต้น ในบล็อกถัดไปฉันจะแสดงวิธีดึงและสร้างโค้ดจากที่เก็บ GitHub โดยใช้ Jenkins
หากคุณพบสิ่งนี้ บทช่วยสอนของเจนกินส์ ที่เกี่ยวข้องตรวจสอบไฟล์ โดย Edureka บริษัท การเรียนรู้ออนไลน์ที่เชื่อถือได้ซึ่งมีเครือข่ายผู้เรียนที่พึงพอใจมากกว่า 250,000 คนกระจายอยู่ทั่วโลก หลักสูตรการฝึกอบรมการรับรอง Edureka DevOps ช่วยให้ผู้เรียนมีความเชี่ยวชาญในกระบวนการและเครื่องมือ DevOps ต่างๆเช่น Puppet, Jenkins, Nagios และ GIT สำหรับการทำหลายขั้นตอนใน SDLC โดยอัตโนมัติ
มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นแล้วเราจะติดต่อกลับไป