Travis CI ผู้ให้บริการ continuous integration (CI) ทำฐานข้อมูลหายทั้งระบบเมื่อเดือนมีนาคมที่ผ่านมา หลังพลาดรันชุดทดสอบโดยกำหนดคอนฟิกตัวแปร DATABASE_URL เป็นเซิร์ฟเวอร์ production ทำให้สคริปต์สั่งล้างฐานข้อมูลเพื่อเตรียมทดสอบ และเมื่อสัปดาห์ที่แล้วทีมงานก็เขียนบล็อครายงานสาเหตุและแนวทางแก้ไข
ความผิดพลาดนี้เกิดจากนักพัฒนาใช้หน้าจอ tmux เปิดฐานข้อมูล production เพื่อตรวจสอบปัญหา จึงคอนฟิกให้ตัวแปรชี้ไปยังฐานข้อมูลจริง หลังจากนั้นก็ทิ้งเทอร์มินัลนี้ไว้หลายวัน แล้วกลับมาใช้รันทดสอบโดยลืมไปว่าตั้งให้ใช้ฐานข้อมูลจริงไว้
หลังฐานข้อมูลถูกล้าง ทีมงานยังทำผิดพลาดหลายอย่าง เช่น เปิดบริการขณะกู้ฐานข้อมูล หรือระบบ cron ไม่กลับมาทำงาน อย่างไรก็ตาม ทีมงานสามารถกู้ฐานข้อมูลกลับมาได้โดยเสียข้อมูลไปเพียง 15 นาทีเท่านั้น
ระบบพัฒนากับเซิร์ฟเวอร์จริงของ Travis CI ไม่ได้แยกขาดจากกัน โดยระบุว่าการออกแบบเครื่องมือทำให้แยกจากกันได้ยาก และกระบวนการแก้ไขก็เป็นการแจ้งเตือนนักพัฒนาว่ากำลังทำงานบนระบบใด รวมถึงการแก้ไขไลบรารีอย่าง DatabaseCleaner ให้เตือนนักพัฒนาว่ากำลังใช้ฐานข้อมูลนอกเครื่องอยู่
ที่มา - Travis CI
on
แบบนี้ก็ได้ด้วยเหรอ
ekaphop Mon, 09/04/2018 - 11:56
แบบนี้ก็ได้ด้วยเหรอ โครตไม่รอบครอบอย่างรุนแรง
แล้วผลเสียต่อลูกค้าหล่ะ ต้องทำยังไง ???
Travis CI ผู้ให้บริการ
panurat2000 Mon, 09/04/2018 - 12:12
continous => continuous
ฐานช้อมูล => ฐานข้อมูล
ทีมงานทยัง ?
ทำไมนึกถึงข่าวนี้ 55555
sarunint Mon, 09/04/2018 - 12:18
ทำไมนึกถึงข่าวนี้ 55555
เฮือกกก
POAKPONG Mon, 09/04/2018 - 12:23
เฮือกกก
ทำงานแบบนี้มันหายนะของระบบ
Perl Mon, 09/04/2018 - 12:49
ทำงานแบบนี้มันหายนะของระบบ Production ชัดๆ
ระบบเทสอยู่ network เดียวกับ
McKay Mon, 09/04/2018 - 12:59
ระบบเทสอยู่ network เดียวกับ production ก็เสี่ยงแล้ว ออกแบบระบบยังไง
คนจริง test กันบน production
chunbogbog Mon, 09/04/2018 - 13:14
คนจริง test กันบน production
มีคนเคยกล่าวไว้
ผมเห็นตายกันนัดต่อนัดแล้ว
adente Mon, 09/04/2018 - 13:28
In reply to คนจริง test กันบน production by chunbogbog
ผมเห็นตายกันนัดต่อนัดแล้ว
ชอบๆฮ่าๆ
mypooh10 Mon, 09/04/2018 - 14:21
In reply to คนจริง test กันบน production by chunbogbog
ชอบๆฮ่าๆ
คนจริงต้องอยู่กับพวกขี้ระแวง
akira Mon, 09/04/2018 - 13:53
คนจริงต้องอยู่กับพวกขี้ระแวง ถ้าคนจริงอยู่ด้วยกันหายนะจะมาเยือน
ถ้าเผลอลบ production
waroonh Mon, 09/04/2018 - 14:28
ถ้าเผลอลบ production แล้วกู้กลับมาได้ โดยเสีย transaction ไปแค่ 15 นาที นี่ผมถือว่าระดับเทพ นะครับ
ผมว่า transaction backup
TW Mon, 09/04/2018 - 14:42
In reply to ถ้าเผลอลบ production by waroonh
ผมว่า transaction backup คือเทพ(ช่วยไว้)มากกว่านะครับ
ขาดความรอบคอบมากๆ
sukjai Mon, 09/04/2018 - 20:33
ขาดความรอบคอบมากๆ
ดูเหมือนหัวข้อข่าวจะพิมพ์ผิดน
napatercatch Tue, 10/04/2018 - 07:22
ดูเหมือนหัวข้อข่าวจะพิมพ์ผิดนะครับจาก 'ช' เป็น 'ข'