All posts

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