การปรับใช้ Jenkins อย่างต่อเนื่อง [พร้อมตัวอย่างเชิงปฏิบัติ]
เผยแพร่แล้ว: 2020-12-28การปรับใช้ Jenkins เป็นกระบวนการเร่งความเร็วของการพัฒนาซอฟต์แวร์อัตโนมัติที่ซับซ้อน บทความนี้ให้ความกระจ่างเกี่ยวกับวิธีที่ Jenkins รวมกระบวนการวงจรชีวิตการพัฒนาทั้งหมดหรือขั้นตอน DevOps เช่น การสร้าง การทำเอกสาร การทดสอบ การบรรจุ การแสดงละคร การปรับใช้ การวิเคราะห์แบบสถิต และอื่นๆ อีกมากมาย ซึ่งได้รับการฝึกฝนในหลายองค์กร
ทุกวันนี้ องค์กรจำนวนมากกำลังนำ DevOps มาใช้ในข้อเสนอของตน ในวงจรชีวิตการพัฒนาซอฟต์แวร์ คุณต้องเผยแพร่ซอฟต์แวร์อย่างต่อเนื่องโดยเป็นส่วนหนึ่งของโครงการ
เครื่องมือต่างๆ เช่น Jenkins ได้รับความนิยมอย่างกว้างขวางในด้านศักยภาพในการรวมและส่งมอบแอปพลิเคชันอย่างต่อเนื่องโดยไม่คำนึงถึงแพลตฟอร์ม Jenkins เป็นเครื่องมือที่มาฟรีและเป็นเครื่องมือเดียวที่สามารถจัดการบิลด์ใดๆ ใน การปรับใช้ Jenkins ได้ ซึ่งจะกล่าวถึงในบทความ
เจนกินส์สามารถรวมเข้ากับเทคโนโลยีการทดสอบและการปรับใช้ได้มากมาย บทความนี้อธิบายวิธีการใช้ Jenkins ในการสร้างและทดสอบโครงการซอฟต์แวร์ของคุณอย่างต่อเนื่อง
เรียนรู้ หลักสูตรออนไลน์วิศวกรรมซอฟต์แวร์ จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว
ดังนั้น ก่อนที่จะเจาะลึกถึงวิธีการทำงานของเจนกินส์ เราต้องเข้าใจหัวข้อต่อไปนี้ซึ่งเป็นรากฐานสำหรับการเรียนรู้เจนกินส์:

- การปรับใช้อย่างต่อเนื่อง
- การส่งมอบอย่างต่อเนื่องกับการปรับใช้อย่างต่อเนื่อง
- ตัวอย่าง การใช้งาน Jenkins ที่ใช้งาน ได้จริง
- ประโยชน์ของ การปรับใช้ Jenkins
เรามาดูกันทีละคน!
สารบัญ
การปรับใช้อย่างต่อเนื่อง
ในการปรับใช้อย่างต่อเนื่อง ซอฟต์แวร์จะถูกเผยแพร่บนเซิร์ฟเวอร์ที่ใช้งานจริงอย่างต่อเนื่องด้วยระบบอัตโนมัติ โค้ดจะผ่านขั้นตอนต่างๆ เช่น การรวบรวมซอร์สโค้ด การตรวจสอบ การตรวจสอบ การบรรจุแอปพลิเคชัน และการทดสอบหน่วยและการทดสอบการรวม
รหัสจะถูกปรับใช้บนเซิร์ฟเวอร์ทดสอบเมื่อทำการทดสอบการยอมรับของผู้ใช้ ซอฟต์แวร์จะถูกปรับใช้บนเซิร์ฟเวอร์ที่ใช้งานจริงสำหรับการเปิดตัวซอฟต์แวร์ อ่านเกี่ยวกับการผสานรวมกับเจนกินส์อย่างต่อเนื่อง
การส่งมอบอย่างต่อเนื่องกับการปรับใช้อย่างต่อเนื่อง
การส่งมอบอย่างต่อเนื่องและการปรับใช้อย่างต่อเนื่องเป็นสองขั้นตอนที่สำคัญของ SDLC ซึ่งการส่งมอบอย่างต่อเนื่องไม่ได้นำไปใช้กับการผลิตสำหรับการเปลี่ยนแปลงใดๆ นักพัฒนาซอฟต์แวร์ต้องมั่นใจว่าโค้ดสามารถปรับใช้ได้เสมอและปรับใช้ได้ทุกเมื่อที่ต้องการ

เครดิตภาพ
การปรับใช้อย่างต่อเนื่องจำเป็นต้องมีการเปลี่ยนแปลงทุกอย่างโดยอัตโนมัติ โดยไม่มีอนุญาโตตุลาการของมนุษย์
ในไดอะแกรมด้านบน หลังจากขั้นตอนการรวมแบบต่อเนื่องเสร็จสิ้น แอปพลิเคชันที่สร้างจะถูกปรับใช้โดยอัตโนมัติบนเซิร์ฟเวอร์ที่ใช้งานจริง ซึ่งไม่ใช่แค่การปรับใช้อย่างต่อเนื่อง
มิฉะนั้น หากเราต้องการการอนุมัติของมนุษย์เพื่อปรับใช้เวอร์ชันใหม่กว่าเพื่อทำให้ทุกอย่างเป็นอัตโนมัติ เรากำลังดำเนินการจัดส่งอย่างต่อเนื่อง
เนื่องจากความแตกต่างหลักนี้ จึงมีนัยหลายประการที่ทำให้แต่ละกระบวนการเหมาะสมกับสถานการณ์ที่แตกต่างกัน
เจนกินส์
Jenkins เป็นเครื่องมือโอเพนซอร์ซที่เร่งกระบวนการซอฟต์แวร์ผ่านเซิร์ฟเวอร์อัตโนมัติที่ใช้ในการสร้างและทดสอบโครงการซอฟต์แวร์อย่างต่อเนื่อง ทำให้เกิดสภาพแวดล้อม CI/CD สำหรับนักพัฒนา มันเขียนด้วยภาษาจาวาจึงพกพาได้จริงๆ
Jenkins มีปลั๊กอินและการผสานรวมนับพันรายการ ดังนั้นจึงเหมาะสำหรับโครงการขนาดใหญ่ที่ต้องการการปรับแต่งจำนวนมาก รองรับเครื่องมือควบคุมเวอร์ชัน เช่น Git, Maven, Mercurial และ Subversion
ตัวอย่างการใช้งาน Jenkins ที่ใช้งานได้จริง
ตอนนี้เราได้เรียนรู้เกี่ยวกับชนิดของเครื่องมือ Jenkins และสามารถนำไปใช้กับกระบวนการพัฒนาซอฟต์แวร์สำหรับการปรับใช้อย่างต่อเนื่อง ตอนนี้เรามาดูกันว่ามันทำงานอย่างไรในสภาพแวดล้อมการผลิต
ขั้นแรก เจนกินส์ได้รับการตั้งค่าบนเซิร์ฟเวอร์และมีการเพิ่มโปรเจ็กต์ของไคลเอ็นต์สำหรับการสร้างและทดสอบ จากนั้นลูกค้าสามารถดาวน์โหลดแอปพลิเคชันที่ผ่านการทดสอบแล้ว การปรับใช้ทรัพย์สินโครงการไปยังตำแหน่งใหม่บนเซิร์ฟเวอร์อาจเป็นเรื่องยุ่งยาก

สำหรับสิ่งนั้น ในเบื้องต้น สมมติว่าโปรเจ็กต์ไคลเอนต์ได้รับการตั้งค่าบนเจนกินส์ ซึ่งเชื่อมโยงกับระบบควบคุมเวอร์ชันของคุณ
ขั้นตอนที่ 1: สร้างรายการเจนกินส์
จากเมนูหลัก เลือก 'รายการใหม่' และตั้งชื่อ มันจะส่งออกไฟล์จากโครงการไคลเอนต์ของคุณไปยังโฟลเดอร์เซิร์ฟเวอร์
ขั้นตอนที่ 2: การสร้างการดำเนินการหลังการสร้าง
ไปที่โครงการไคลเอนต์และเลือกกำหนดค่า เริ่มต้นการดำเนินการหลังการสร้างและเลือก 'เก็บสิ่งประดิษฐ์' จากเมนูแบบเลื่อนลง เพิ่มประเภทไฟล์ที่จะเก็บถาวรและส่งออก
หลังจากนี้ ผนวกการดำเนินการหลังการสร้างอื่น 'สร้างโครงการอื่น' และป้อนรายการสร้างที่สร้างก่อนหน้านี้

คลังเก็บเอกสารสำคัญ
ขั้นตอนที่ 3: การติดตั้งปลั๊กอิน 'คัดลอกสิ่งประดิษฐ์'
ในขั้นตอนที่สาม คุณจะต้องติดตั้ง "ปลั๊กอินคัดลอกสิ่งประดิษฐ์" ของเจนกินส์
ไปที่ 'ชื่อโครงการ' เพื่อกำหนดค่าและเพิ่มขั้นตอนการสร้าง เมื่อติดตั้งปลั๊กอิน Copy Artifact แล้ว คุณจะเห็นตัวเลือก 'คัดลอกสิ่งประดิษฐ์จากโครงการอื่น' กำหนดโฟลเดอร์เพื่อคัดลอกสิ่งประดิษฐ์และกำหนดเส้นทางของตำแหน่ง
ตั้งค่าตำแหน่งเป็น “var/www/clients/..” นี้จะสร้างโฟลเดอร์ใหม่บนเซิร์ฟเวอร์ ระบุเส้นทางด้วยที่อยู่ HTTP (!)

บันทึกโครงการ
ขั้นตอนที่ 4: ทำการทดสอบ
หลังจากขั้นตอนหลัก ตอนนี้เป็นเวลาทดสอบแอปพลิเคชัน
สำหรับสิ่งนี้ ให้ตั้งค่าบิลด์จากโปรเจ็กต์ไคลเอนต์ สิ่งนี้จะแจ้งการสร้างใหม่ ตรวจสอบโฟลเดอร์การปรับใช้บนเซิร์ฟเวอร์ ที่นี่ คุณจะเห็นไฟล์ที่ปรับใช้
แต่แม้หลังจากดำเนินการทั้งหมดแล้ว บิลด์ยังล้มเหลวและคุณได้รับข้อผิดพลาด 'FileException'
ทำไม?
สาเหตุที่เป็นไปได้อาจเป็น:
- เจนกินส์ไม่มีสิทธิ์ในการเขียนไปยังโฟลเดอร์และไม่สามารถปรับใช้ไฟล์ได้
- เชื่อมโยง SSH กับเซิร์ฟเวอร์
- ตรวจสอบสิทธิ์ของโฟลเดอร์เอาต์พุต
- คุณจะรู้ว่าเราประสบปัญหา
ทำตามขั้นตอนต่อไปนี้เพื่อแก้ไขปัญหานี้:
- เพิ่มเจนกินส์ในกลุ่ม ที่นี่ กลุ่ม 'www-data'
- การเปลี่ยนความเป็นเจ้าของโฟลเดอร์เอาต์พุตเป็นกลุ่ม 'www-data' ด้วย คำสั่ง sudo chown – R : 'www – data' ไคลเอนต์
- อนุญาตให้เขียนในโฟลเดอร์ด้วย คำ สั่ง sudo chmod
- รีสตาร์ทเซิร์ฟเวอร์และดูแอปพลิเคชันที่ปรับใช้
เจนกินส์ให้ประโยชน์อะไรบ้าง?
- Jenkins เป็นเครื่องมือโอเพนซอร์ซและให้การสนับสนุนชุมชนที่ยอดเยี่ยม
- เจนกินส์ค่อนข้างติดตั้งง่าย
- เจนกินส์มีปลั๊กอินมากกว่า 1,000 ตัว หากไม่มีปลั๊กอิน คุณสามารถเขียนโค้ดได้อย่างง่ายดาย
- เจนกินส์ไม่มีค่าใช้จ่าย
- Jenkins สร้างขึ้นด้วย Java; จึงพกพาไปได้ทุกแพลตฟอร์มหลัก
อ่านเพิ่มเติม: แนวคิดและหัวข้อของโครงการเจนกินส์

คำสุดท้าย
Jenkins เป็นเครื่องมืออัตโนมัติที่เขียนด้วย Java ที่มีประสิทธิภาพซึ่งใช้กันอย่างแพร่หลายสำหรับการรวมอย่างต่อเนื่อง ด้วย Jenkins จะสร้างและทดสอบโครงการซอฟต์แวร์อย่างต่อเนื่องกับสิ่งที่เขียนได้ง่ายขึ้น เป็นเครื่องมือที่ดีที่สุดในการส่งมอบซอฟต์แวร์ของคุณเสมอโดยผสานรวมกับเทคโนโลยีการทดสอบและการใช้งานจำนวนมาก
การเรียนรู้การพัฒนาซอฟต์แวร์ – DevOps ด้วย upGrad
upGrad ขอเสนอโปรแกรม Executive PG ในการพัฒนาซอฟต์แวร์ – ความเชี่ยวชาญพิเศษใน DevOps ซึ่งคุณจะได้เรียนรู้วิธีนำเสนอแอปพลิเคชันและบริการด้วยความเร็วสูงมากในองค์กร คณาจารย์ที่ upGrad จะสอนคุณในทุกรายละเอียดเกี่ยวกับ DevOps และเหตุใดการเรียนรู้สิ่งนี้จึงสร้างอาชีพที่ทำกำไรให้กับคุณ
ประกาศนียบัตร PG ของ upGrad ด้านความเชี่ยวชาญด้านการพัฒนาซอฟต์แวร์ในโปรแกรม DevOps ไฮไลท์:
หลักสูตรออนไลน์ที่ขยายเวลา 12 เดือนนี้มีคุณสมบัติดังต่อไปนี้:
- เซสชันออนไลน์ที่มีความรู้พร้อมการบรรยายสด
- เข้าถึงเนื้อหาอันมีค่าใน Data Science & Machine Learning ได้ฟรี
- ทำงานในโครงการและงานที่ได้รับมอบหมายมากกว่า 7+ รายการ
- การเรียนรู้ภาษาและเครื่องมือการเขียนโปรแกรมสิบภาษา
- การประกันตำแหน่งที่รับประกัน
- การสนับสนุนด้านอาชีพ 360° พร้อมความช่วยเหลือด้านงาน
