บทช่วยสอนไปป์ไลน์ของ Jenkins: วิธีสร้าง JenkinsFile (ตัวอย่าง)

ไปป์ไลน์เจนกินส์คืออะไร?

ไปป์ไลน์เจนกินส์ เป็นชุดปลั๊กอินที่รองรับการบูรณาการและการใช้งานของท่อส่งของอย่างต่อเนื่อง มีเซิร์ฟเวอร์อัตโนมัติที่ขยายได้เพื่อสร้างท่อส่งของที่เรียบง่ายและซับซ้อนเป็นโค้ดผ่านท่อส่ง DSL ท่อส่งคือกลุ่มของเหตุการณ์ที่เชื่อมโยงกันเป็นลำดับ

ไปป์ไลน์การจัดส่งแบบต่อเนื่องคืออะไร? มันทำงานอย่างไร?

ในไปป์ไลน์ของ Jenkins ทุกงานหรือเหตุการณ์มีการขึ้นอยู่กับเหตุการณ์อย่างน้อยหนึ่งเหตุการณ์ขึ้นไป

การทำงานของท่อจัดส่งต่อเนื่องของเจนกินส์
การทำงานของท่อจัดส่งต่อเนื่องของเจนกินส์

ภาพด้านบนแสดงถึงขั้นตอนการส่งมอบอย่างต่อเนื่องในเจนกินส์ ประกอบด้วยกลุ่มสถานะที่เรียกว่า build, Deploy, Test และ Release เหตุการณ์เหล่านี้เชื่อมโยงถึงกัน ทุกรัฐมีเหตุการณ์ของตัวเอง ซึ่งทำงานเป็นลำดับที่เรียกว่าไปป์ไลน์การจัดส่งแบบต่อเนื่อง

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

JenkinsFile คืออะไร?

ไปป์ไลน์เจนกินส์สามารถกำหนดได้โดยใช้ไฟล์ข้อความที่เรียกว่า JenkinsFile.jpg คุณสามารถใช้ไปป์ไลน์เป็นโค้ดได้โดยใช้ JenkinsFile และสามารถกำหนดได้โดยใช้ภาษาเฉพาะโดเมน (DSL) ด้วย JenkinsFile คุณสามารถเขียนขั้นตอนที่จำเป็นสำหรับการรันไปป์ไลน์ Jenkins

ประโยชน์ของการใช้ JenkinsFile เป็น:

  • คุณสามารถสร้างไปป์ไลน์โดยอัตโนมัติสำหรับทุกสาขาและดำเนินการคำขอดึงด้วยเพียงอันเดียว JenkinsFile.jpg
  • คุณสามารถตรวจสอบโค้ด Jenkins ของคุณได้จากไปป์ไลน์
  • คุณสามารถตรวจสอบไปป์ไลน์ Jenkins ของคุณได้
  • นี่คือแหล่งที่มาเดียวสำหรับไปป์ไลน์ของคุณและสามารถแก้ไขได้โดยผู้ใช้หลายคน

JenkinsFile สามารถกำหนดได้โดย Web UI หรือไฟล์ Jenkins

ไวยากรณ์ไปป์ไลน์แบบประกาศเทียบกับแบบสคริปต์:

ไวยากรณ์ไปป์ไลน์ Jenkins มีสองประเภทที่ใช้สำหรับกำหนด JenkinsFile ของคุณ

  1. ประกาศ
  2. สคริปต์

ประกาศ:

ไวยากรณ์ไปป์ไลน์แบบประกาศนำเสนอวิธีง่ายๆ ในการสร้างไปป์ไลน์ ประกอบด้วยลำดับชั้นที่กำหนดไว้ล่วงหน้าเพื่อสร้างไปป์ไลน์ Jenkins ช่วยให้คุณสามารถควบคุมการดำเนินการไปป์ไลน์ทุกด้านในลักษณะที่เรียบง่ายและตรงไปตรงมา

สคริปต์:

ไพพ์ไลน์ Jenkins ที่มีสคริปต์จะทำงานบน Jenkins master ด้วยความช่วยเหลือของตัวดำเนินการน้ำหนักเบา ซึ่งใช้ทรัพยากรเพียงเล็กน้อยในการแปลไพพ์ไลน์เป็นคำสั่งแบบอะตอมิก ทั้งไวยากรณ์แบบประกาศและแบบสคริปต์นั้นแตกต่างกันและถูกกำหนดไว้ต่างกันโดยสิ้นเชิง

เหตุใดจึงใช้ไปป์ไลน์ของเจนกิน

เจนกินส์เป็นคนเปิด เซิร์ฟเวอร์การรวมอย่างต่อเนื่อง ซึ่งมีความสามารถในการรองรับกระบวนการพัฒนาซอฟต์แวร์แบบอัตโนมัติ คุณสามารถสร้างงานอัตโนมัติได้หลายงานโดยใช้กรณีการใช้งาน และเรียกใช้เป็นไปป์ไลน์ Jenkins

นี่คือเหตุผลที่คุณควรใช้ไปป์ไลน์ Jenkins:

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

ไปป์ไลน์เจนกินส์ Concepts

เทอม Descriptไอออน
ท่อ ไปป์ไลน์คือชุดคำสั่งที่ให้ไว้ในรูปแบบของโค้ดสำหรับการจัดส่งอย่างต่อเนื่อง และประกอบด้วยคำสั่งที่จำเป็นสำหรับกระบวนการสร้างทั้งหมด ด้วยไปป์ไลน์ คุณสามารถสร้าง ทดสอบ และส่งมอบแอปพลิเคชันได้
โหนด เครื่องที่ Jenkins ทำงานเรียกว่าโหนด บล็อกโหนดส่วนใหญ่จะใช้ในไวยากรณ์ไปป์ไลน์แบบสคริปต์
ระยะ บล็อกขั้นประกอบด้วยชุดของขั้นตอนในไปป์ไลน์ นั่นคือกระบวนการสร้าง ทดสอบ และปรับใช้ทั้งหมดมารวมกันในขั้นตอนเดียว โดยทั่วไป สเตจบล็อกจะใช้เพื่อแสดงภาพกระบวนการไปป์ไลน์ของเจนกินส์
ขั้นตอน ขั้นตอนไม่ใช่อะไรนอกจากงานเดียวที่ดำเนินการกระบวนการเฉพาะในเวลาที่กำหนด ไปป์ไลน์เกี่ยวข้องกับหลายขั้นตอน

ติดตั้ง Build Pipeline Plugin ใน Jenkins

กับ สร้างท่อ ปลั๊กอิน คุณสามารถสร้างมุมมองไปป์ไลน์ของงานขาเข้าและขาออก และสร้างทริกเกอร์ที่ต้องมีการแทรกแซงด้วยตนเอง

นี่คือวิธีการติดตั้ง สร้างท่อ ปลั๊กอินในเจนกินส์ของคุณ:

ขั้นตอนที่ 1) การตั้งค่าสำหรับปลั๊กอินสามารถพบได้ภายใต้

จัดการเจนกินส์> จัดการปลั๊กอิน

ติดตั้ง Build Pipeline Plugin ใน Jenkins

หากคุณได้ติดตั้งปลั๊กอินแล้ว ปลั๊กอินจะแสดงอยู่ใต้แท็บที่ติดตั้ง

ติดตั้ง Build Pipeline Plugin ใน Jenkins

ขั้นตอนที่ 2) หากคุณไม่ได้ติดตั้งปลั๊กอินไว้ก่อนหน้านี้

มันปรากฏอยู่ใต้ Available แถบ

เมื่อคุณติดตั้งสำเร็จแล้ว สร้างท่อ ปลั๊กอินใน Jenkins ของคุณ ให้ทำตามขั้นตอนเหล่านี้เพื่อสร้างไปป์ไลน์ Jenkins ของคุณ:

วิธีสร้างไปป์ไลน์เจนกินส์

เมื่อคุณลงชื่อเข้าใช้แดชบอร์ด Jenkins ของคุณแล้ว:

ขั้นตอนที่ 1) คลิกที่ “+” ที่ด้านซ้ายมือของแดชบอร์ด Jenkins เพื่อสร้างไปป์ไลน์

สร้างไปป์ไลน์เจนกินส์

ขั้นตอนที่ 2)

  1. คุณจะถูกขอให้ตั้งชื่อให้กับมุมมองไปป์ไลน์ เราจะเรียกมันว่า “ท่อ Guru99” ตลอดระยะเวลาของการสาธิตนี้
  2. เลือก สร้างมุมมองไปป์ไลน์ ภายใต้ ตัวเลือก
  3. คลิก ok

สร้างไปป์ไลน์เจนกินส์

ขั้นตอนที่ 3) ในหน้าถัดไป คุณจะถูกขอให้ระบุรายละเอียดเพิ่มเติมเพื่อกำหนดค่า Jenkins Pipeline ของคุณ เพียงยอมรับการตั้งค่าเริ่มต้น และตรวจสอบให้แน่ใจว่าคุณเลือกงานแรกภายใต้การตั้งค่า

คลิกที่ สมัครสมาชิก แล้วก็ OK.

สร้างไปป์ไลน์เจนกินส์

นี่จะแสดงมุมมองตัวอย่างไปป์ไลน์ของรายการของคุณ ตามที่ระบุด้านล่าง:

สร้างไปป์ไลน์เจนกินส์

เรียกใช้งานสร้างไปป์ไลน์

ขั้นตอนที่ 1) สำหรับการรันการสร้างไปป์ไลน์ คุณต้องเชื่อมโยงงานของคุณก่อน สำหรับสิ่งนี้ ให้ไปที่งานแรกของคุณแล้วคลิกกำหนดค่า

เรียกใช้งานสร้างไปป์ไลน์

ขั้นตอนที่ 2) ตอนนี้ภายใต้ สร้างทริกเกอร์ตรวจสอบไฟล์ สร้างหลังจากสร้างโครงการอื่นแล้ว ตัวเลือก

เรียกใช้งานสร้างไปป์ไลน์

ดังนั้น ห่วงโซ่สำหรับงานทั้งหมดของคุณจึงได้ถูกสร้างขึ้น

ขั้นตอนที่ 3) ติดตั้ง สร้างมุมมองไปป์ไลน์ ปลั๊กอินหากคุณยังไม่ได้ติดตั้งไว้

ขั้นตอนที่ 4) ไปที่แดชบอร์ด Jenkins ของคุณและสร้างมุมมองโดยคลิกที่ “+" ปุ่ม. เลือก สร้างมุมมองไปป์ไลน์ ตัวเลือกและคลิก OK.

เรียกใช้งานสร้างไปป์ไลน์

ขั้นตอนที่ 5) ภายใต้ การกำหนดค่ามุมมองไปป์ไลน์ค้นหา การไหลของท่อ.

ภายใต้ การไหลของท่อให้เลือกงานเริ่มต้นที่จะรัน ตอนนี้เลือกงานที่มีความเชื่อมโยงกับงานอื่น ดังแสดงใน ขั้นตอนที่ 1 and ขั้นตอนที่ 2.

เรียกใช้งานสร้างไปป์ไลน์

ที่นี่เราได้เลือกแล้ว กูรู99โปรเจ็ค1 เป็นงานเริ่มแรกและผูกมัดกับงานอื่น ดังนั้นงานจะดำเนินไปตามไปป์ไลน์ทีละงาน

เมื่อไปป์ไลน์ Jenkins ทำงาน คุณสามารถตรวจสอบสถานะได้โดยใช้สัญลักษณ์สถานะสีแดงและสีเขียว สีแดงหมายถึงไปป์ไลน์ล้มเหลว ในขณะที่สีเขียวหมายถึงความสำเร็จ

ในตัวอย่างไปป์ไลน์ของ Jenkins เราจะเห็นว่าปุ่มเป็นสีเขียว ดังนั้นไปป์ไลน์จึงประสบความสำเร็จ

เรียกใช้งานสร้างไปป์ไลน์

ใช้งานไปป์ไลน์ Jenkins

คลิกที่ วิ่ง เพื่อรันไปป์ไลน์เจนกินส์ มันจะมีลักษณะดังนี้:

ใช้งานไปป์ไลน์ Jenkins

ในตัวอย่างสคริปต์ Jenkins Pipeline ด้านบน เราจะสาธิตโปรแกรม “helloworld.java” ง่ายๆ แต่ในโปรเจ็กต์แบบเรียลไทม์ คุณจะต้องรับผิดชอบในการสร้างและสร้าง Pipeline ที่ซับซ้อนใน Jenkins ดูตัวอย่างมุมมอง Pipeline ด้านล่าง

ใช้งานไปป์ไลน์ Jenkins

แนวทางปฏิบัติที่ดีที่สุดโดยใช้ Jenkins Pipeline:

  • ใช้ท่อส่งเจนกินส์ของแท้
  • พัฒนาไปป์ไลน์ของคุณเป็นโค้ด
  • งานใดๆ ที่ไม่ใช่การตั้งค่าในไปป์ไลน์ของคุณควรเกิดขึ้นภายในบล็อกสเตจ
  • งานวัสดุใดๆ ในไปป์ไลน์จะต้องดำเนินการภายในบล็อกโหนด
  • อย่าใช้อินพุตภายในบล็อกโหนด
  • อย่าตั้งค่าตัวแปรสภาพแวดล้อมด้วยตัวแปรส่วนกลาง env
  • ล้อมอินพุตของคุณไว้ในระยะหมดเวลา