SCT

กำลังเตรียมประสบการณ์ดิจิทัล

ให้ระบบช่วยคัดกรอง pull request อัปเดต dependency แล้วเก็บเวลาไว้ตัดสินใจเรื่องที่ยากกว่า

ทีมส่วนใหญ่มี pull request อัปเดต dependency ค้างอยู่เป็นสิบ เพราะการไล่ดูทีละรายการกินเวลาแต่ไม่ต้องใช้ความเชี่ยวชาญ บทความนี้สรุปวิธีให้ระบบอัตโนมัติคัดกรองให้ก่อน แล้วส่งเฉพาะเรื่องที่ต้องใช้วิจารณญาณมาให้คนดู

ทีมส่วนใหญ่มี pull request อัปเดต dependency ค้างอยู่เป็นสิบ เพราะการไล่ดูทีละรายการกินเวลาแต่ไม่ต้องใช้ความเชี่ยวชาญ บทความนี้สรุปวิธีให้ระบบอัตโนมัติคัดกรองให้ก่อน แล้วส่งเฉพาะเรื่องที่ต้องใช้วิจารณญาณมาให้คนดู

ปัญหาที่ทุกทีมเจอเหมือนกัน

เครื่องมืออัปเดต dependency อัตโนมัติทำงานได้ดีในแง่การแจ้งเตือน แต่สร้างคอขวดใหม่ขึ้นมาแทน คือ pull request จำนวนมากที่มีความเร่งด่วนต่างกัน บางรายการเป็นการขยับเลขเวอร์ชันย่อยที่แทบไม่มีผลอะไร บางรายการเป็นการอัปเกรดเวอร์ชันหลักที่อาจทำให้ระบบพัง คนที่ต้องมานั่งไล่ดูจึงเสียเวลาไปกับงานซ้ำ ๆ ที่ไม่ได้ต้องใช้ความเชี่ยวชาญเฉพาะทาง

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

ให้ระบบทำอะไร และไม่ทำอะไร

งานที่มอบให้ระบบทำได้อย่างสบายใจคือการทบทวน pull request ที่เปิดค้างอยู่ทั้งหมด จัดกลุ่มตามระดับความเสี่ยง ระบุว่ารายการใดเป็นการอัปเดตระดับย่อยที่ปลอดภัย ตรวจว่าผ่านการทดสอบอัตโนมัติแล้วหรือยัง แล้วสรุปออกมาเป็นรายการเดียวที่จัดลำดับความสำคัญไว้แล้ว แทนที่จะให้คนไปไล่เปิดทีละอัน

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

ภาพประกอบบทความหมวดDevOps
ภาพประกอบบทความหมวดDevOps

ตั้งค่าอย่างไร

ขั้นตอนที่บทความอธิบายมีห้าขั้น เริ่มจากสร้างงานอัตโนมัติใหม่ ตั้งชื่อให้สื่อความ แล้วเลือกจังหวะที่จะให้ทำงาน ตัวอย่างในบทความตั้งให้รันทุกวันก่อนเวลาเข้างาน ขั้นที่สองคืออธิบายงานเป็นภาษาปกติว่าต้องการให้ทบทวน pull request จัดกลุ่มตามความเสี่ยง และระบุรายการที่ปลอดภัย ขั้นที่สามคือเลือกรีโปที่ต้องการ ขั้นที่สี่คือสั่งสร้างแล้วรันทดสอบทันทีโดยไม่ต้องรอรอบตามกำหนดการ และขั้นที่ห้าคือดูผลสรุปแล้วทำงานต่อจากตรงนั้น

รายละเอียดด้านความโปร่งใสที่ควรสังเกตคือระบบเก็บประวัติการทำงานไว้ทุกครั้ง ทั้งเวลาที่รัน สิ่งที่ทำ และผลที่ได้ ซึ่งเป็นสิ่งที่ทำให้ระบบอัตโนมัติไม่กลายเป็นกล่องดำที่ไม่มีใครกล้าเชื่อ

ภาพประกอบบทความหมวดDevOps
ภาพประกอบบทความหมวดDevOps

ข้อแนะนำสำหรับทีมไทย

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

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

สรุปสาระสำคัญ

  • ปัญหาที่ทุกทีมเจอเหมือนกัน
  • ให้ระบบทำอะไร และไม่ทำอะไร
  • ตั้งค่าอย่างไร
แหล่งอ้างอิงเรียบเรียงจาก GitHub Blog — Automate Dependabot pull request triage — อ่านบทความต้นฉบับ
ภาพปก: GitHub Blog · ลิขสิทธิ์ภาพเป็นของเจ้าของต้นฉบับ ใช้ประกอบการรายงานพร้อมอ้างอิงแหล่งที่มา
มีคำถามเพิ่มเติมเกี่ยวกับบทความนี้? เขียนหาเราได้ที่ info@smart-cyber-tech.com
บริการที่เกี่ยวข้องจากทีมงาน Smart Cyber Tech

บทความอื่นที่เกี่ยวข้อง

บทความที่เกี่ยวข้อง

CI/CD ตามแนวทาง DORA: ส่งมอบซอฟต์แวร์ให้เร็วและเสถียรไปพร้อมกัน DevOps

CI/CD ตามแนวทาง DORA: ส่งมอบซอฟต์แวร์ให้เร็วและเสถียรไปพร้อมกัน

งานวิจัย DORA ของ Google ที่เก็บข้อมูลจากทีมพัฒนาทั่วโลกกว่าทศวรรษพิสูจน์ว่า ทีมที่ Deploy บ่อยกว่าไม่ได้พังบ่อยกว่า แต่กลับเสถียรกว่า บทความนี้สรุปตัวชี้วัดทั้ง 4 ของ DORA และแนวปฏิบัติ CI/CD ที่ทำให้ทีมของคุณส่งมอบงานได้ทั้งเร็วและมั่นใจ

อ่านบทความ
ทำให้งานของ AI agent มองเห็นและควบคุมได้ ด้วยแนวคิด canvas แทนการคุยในแชตยาว DevOps

ทำให้งานของ AI agent มองเห็นและควบคุมได้ ด้วยแนวคิด canvas แทนการคุยในแชตยาว

เมื่อ AI agent เริ่มทำงานจริงหลายขั้นตอน แชตกลายเป็นที่ที่แผน การตัดสินใจ และการอนุมัติหายไปกับสายเลื่อน บทความนี้สรุปแนวคิด canvas ซึ่งเป็นพื้นที่ทำงานร่วมที่คงอยู่และตรวจสอบได้ พร้อมรูปแบบที่ทีมไทยนำไปปรับใช้กับงานที่ทำซ้ำได้ทันที

อ่านบทความ
บทเรียนความปลอดภัยจาก 50 โปรเจกต์โอเพนซอร์สในยุค AI DevOps

บทเรียนความปลอดภัยจาก 50 โปรเจกต์โอเพนซอร์สในยุค AI

GitHub Secure Open Source Fund รอบที่ 4 ลงทุนกว่า 500,000 ดอลลาร์กับ 50 โปรเจกต์โอเพนซอร์สใน 22 ประเทศ ผลลัพธ์คือ CVE ใหม่ 533 รายการ แก้ CodeQL alert ไป 4,210 จุด และปิดความลับที่หลุดกว่า 650 รายการ บทความนี้สรุปบทเรียนที่ทีมพัฒนาทั่วไปนำไปใช้ได้

อ่านบทความ

ติดต่อเพื่อขอรับคำปรึกษาจากทีมงาน

ตั้งแต่ประเมินระบบปัจจุบัน วางแผน จนถึงลงมือพัฒนา — คุยกับเราได้โดยไม่มีค่าใช้จ่าย

ปรึกษาทีมของเรา