[Jenkins] Controller and Agents Architecture
Jenkins Controller and Agents Architecture ถ้าใครไปอ่าน doc เก่าๆ Controller (Master) และ Agent (Slave)นะครับ แนวคิดของ Controller and Agents Architecture จะการ CI/CD ที่มีการ Scale-Out เพิ่มจำนวน Node ในที่นี้ Node คือ ตัว Jenkins เพื่อมารองรับกระจาย(Distributed) งานด้าน CI/CD ที่เพิ่มมากขึ้น จากความต้องการ Functional / Time to Market / Quality ยกตัวอย่าง เช่น การ Build และ Execute Unit Test เมื่อมีการ Commit & Push เข้ามาในแต่ละ Branch ครับ ยิ่งถ้ามีหลาย Branch ตัว Jenkins ภาระงานเพิ่มขึ้น ใน Jenkins Controller – ตัวกระจายงาน Agents / Node – ตัวที่ทำงาน ตามชิ้นงานที่ Controller ส่งมาครับ การสื่อสารระหว่าง Controller กับ Agents / Node หลักใช้วิธี SSH ครับ ตัว Controller จะส่ง remote.jar ไปยัง Agents ต่างๆ เพื่อสั่ง Jenkins ของเครื่องปลายทางอีกที แต่ในหลาย Platform มีวิธีพิเศษเพิ่มขึ้นมา เช่น Windows สามารถ WMI…