การปรับใช้ 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 กับเซิร์ฟเวอร์
  • ตรวจสอบสิทธิ์ของโฟลเดอร์เอาต์พุต
  • คุณจะรู้ว่าเราประสบปัญหา

ทำตามขั้นตอนต่อไปนี้เพื่อแก้ไขปัญหานี้:

  1. เพิ่มเจนกินส์ในกลุ่ม ที่นี่ กลุ่ม 'www-data'
  2. การเปลี่ยนความเป็นเจ้าของโฟลเดอร์เอาต์พุตเป็นกลุ่ม 'www-data' ด้วย คำสั่ง sudo chown – R : 'www data' ไคลเอนต์
  3. อนุญาตให้เขียนในโฟลเดอร์ด้วย คำ สั่ง sudo chmod
  4. รีสตาร์ทเซิร์ฟเวอร์และดูแอปพลิเคชันที่ปรับใช้

เจนกินส์ให้ประโยชน์อะไรบ้าง?

  • 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° พร้อมความช่วยเหลือด้านงาน

หลักสูตรการพัฒนาซอฟต์แวร์

สมัครโปรแกรมใบรับรองขั้นสูงใน DevOps