Jenkins คืออะไร?
Jenkins คือเครื่องมือ Open-Source ยอดนิยมที่เขียนด้วยภาษา Java ใช้สำหรับทำระบบ CI/CD (Continuous Integration / Continuous Delivery) หน้าที่หลักของมันคือการสร้าง “ระบบอัตโนมัติ” (Automate) ในขั้นตอนต่างๆ ของการพัฒนาซอฟต์แวร์ ตั้งแต่การนำโค้ดมารวมกัน, การทดสอบ (Testing), ไปจนถึงการนำซอฟต์แวร์ไปติดตั้งบนเซิร์ฟเวอร์ (Deployment) เพื่อให้เข้าใจ Jenkins ต้องเข้าใจแนวคิด CI/CD ก่อนครับ: หลักการทำงานของ Jenkins Jenkins มีรูปแบบการทำงานที่เป็นระบบ โดยประกอบไปด้วยโครงสร้างและขั้นตอนสำคัญดังนี้ครับ: 1. สถาปัตยกรรมแบบ Master-Agent (หรือ Controller-Node) เพื่อไม่ให้เครื่องทำงานหนักเกินไป Jenkins มักจะถูกติดตั้งแบบกระจายงาน: 2. ขั้นตอนการทำงาน (Workflow มาตรฐาน) 3. หัวใจสำคัญ: Jenkins Pipeline การกำหนดขั้นตอนตั้งแต่การดึงโค้ดไปจนถึงการ Deploy จะถูกเขียนขึ้นมาเป็นสคริปต์ที่เรียกว่า Pipeline โดยมักจะเก็บไว้ในไฟล์ที่ชื่อว่า Jenkinsfile (แนวคิด […]
Jenkins คือเครื่องมือ Open-Source ยอดนิยมที่เขียนด้วยภาษา Java ใช้สำหรับทำระบบ
CI/CD (Continuous Integration / Continuous Delivery)
หน้าที่หลักของมันคือการสร้าง “ระบบอัตโนมัติ” (Automate) ในขั้นตอนต่างๆ ของการพัฒนาซอฟต์แวร์ ตั้งแต่การนำโค้ดมารวมกัน, การทดสอบ (Testing), ไปจนถึงการนำซอฟต์แวร์ไปติดตั้งบนเซิร์ฟเวอร์ (Deployment)
เพื่อให้เข้าใจ Jenkins ต้องเข้าใจแนวคิด
CI/CD
ก่อนครับ:
CI (Continuous Integration):
การนำโค้ดที่นักพัฒนาแต่ละคนเขียนมารวมกันที่ส่วนกลาง (เช่น Git) และระบบจะทำการรันการทดสอบ (Automated Test) ทันที เพื่อหาข้อผิดพลาดให้เจอไวที่สุด
CD (Continuous Delivery/Deployment):
การนำโค้ดที่ผ่านการทดสอบแล้ว ไปแพ็กเตรียมไว้ หรือติดตั้ง (Deploy) ขึ้นไปยังเซิร์ฟเวอร์จำลอง (Staging) หรือเซิร์ฟเวอร์จริง (Production) แบบอัตโนมัติ
หลักการทำงานของ Jenkins
Jenkins มีรูปแบบการทำงานที่เป็นระบบ โดยประกอบไปด้วยโครงสร้างและขั้นตอนสำคัญดังนี้ครับ:
1. สถาปัตยกรรมแบบ Master-Agent (หรือ Controller-Node)
เพื่อไม่ให้เครื่องทำงานหนักเกินไป Jenkins มักจะถูกติดตั้งแบบกระจายงาน:
Jenkins Master (Controller):



Discussion
No comments yet