Tags:
Topics: 
Node Thumbnail

Travis CI ผู้ให้บริการ continuous integration (CI) ทำฐานข้อมูลหายทั้งระบบเมื่อเดือนมีนาคมที่ผ่านมา หลังพลาดรันชุดทดสอบโดยกำหนดคอนฟิกตัวแปร DATABASE_URL เป็นเซิร์ฟเวอร์ production ทำให้สคริปต์สั่งล้างฐานข้อมูลเพื่อเตรียมทดสอบ และเมื่อสัปดาห์ที่แล้วทีมงานก็เขียนบล็อครายงานสาเหตุและแนวทางแก้ไข

ความผิดพลาดนี้เกิดจากนักพัฒนาใช้หน้าจอ tmux เปิดฐานข้อมูล production เพื่อตรวจสอบปัญหา จึงคอนฟิกให้ตัวแปรชี้ไปยังฐานข้อมูลจริง หลังจากนั้นก็ทิ้งเทอร์มินัลนี้ไว้หลายวัน แล้วกลับมาใช้รันทดสอบโดยลืมไปว่าตั้งให้ใช้ฐานข้อมูลจริงไว้

หลังฐานข้อมูลถูกล้าง ทีมงานยังทำผิดพลาดหลายอย่าง เช่น เปิดบริการขณะกู้ฐานข้อมูล หรือระบบ cron ไม่กลับมาทำงาน อย่างไรก็ตาม ทีมงานสามารถกู้ฐานข้อมูลกลับมาได้โดยเสียข้อมูลไปเพียง 15 นาทีเท่านั้น

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

ที่มา - Travis CI

Get latest news from Blognone

Comments

By: ekaphop
iPhoneWindows PhoneAndroidBlackberry
on 9 April 2018 - 11:56 #1042984

แบบนี้ก็ได้ด้วยเหรอ โครตไม่รอบครอบอย่างรุนแรง
แล้วผลเสียต่อลูกค้าหล่ะ ต้องทำยังไง ???

By: panurat2000
ContributorSymbianUbuntuIn Love
on 9 April 2018 - 12:12 #1042987
panurat2000's picture

Travis CI ผู้ให้บริการ continous integration (CI)

continous => continuous

โดยลืมไปว่าตั้งให้ใช้ฐานช้อมูลจริงไว้

ฐานช้อมูล => ฐานข้อมูล

ทีมงานทยังทำผิดพลาดหลายอย่าง

ทีมงานทยัง ?

By: sarunint
ContributorAndroidUbuntuWindows
on 9 April 2018 - 12:18 #1042991

ทำไมนึกถึงข่าวนี้ 55555

By: POAKPONG
ContributorAndroidWindowsIn Love
on 9 April 2018 - 12:23 #1042992
By: Perl
ContributoriPhoneUbuntu
on 9 April 2018 - 12:49 #1042995
Perl's picture

ทำงานแบบนี้มันหายนะของระบบ Production ชัดๆ

By: McKay
ContributorAndroidWindowsIn Love
on 9 April 2018 - 12:59 #1042998
McKay's picture

ระบบเทสอยู่ network เดียวกับ production ก็เสี่ยงแล้ว ออกแบบระบบยังไง


Russia is just nazi who accuse the others for being nazi.
someone once said : ผมก็ด่าของผมอยู่นะ :)

By: chunbogbog
Android
on 9 April 2018 - 13:14 #1043002

คนจริง test กันบน production
มีคนเคยกล่าวไว้

By: adente
ContributorSUSESymbianWindows
on 9 April 2018 - 13:28 #1043005 Reply to:1043002
adente's picture

ผมเห็นตายกันนัดต่อนัดแล้ว

By: mypooh10 on 9 April 2018 - 14:21 #1043017 Reply to:1043002

ชอบๆฮ่าๆ

By: akira on 9 April 2018 - 13:53 #1043014

คนจริงต้องอยู่กับพวกขี้ระแวง ถ้าคนจริงอยู่ด้วยกันหายนะจะมาเยือน

By: waroonh
Windows
on 9 April 2018 - 14:28 #1043019

ถ้าเผลอลบ production แล้วกู้กลับมาได้ โดยเสีย transaction ไปแค่ 15 นาที นี่ผมถือว่าระดับเทพ นะครับ

By: TW
AndroidWindows
on 9 April 2018 - 14:42 #1043026 Reply to:1043019

ผมว่า transaction backup คือเทพ(ช่วยไว้)มากกว่านะครับ

By: sukjai
iPhoneAndroidRed HatUbuntu
on 9 April 2018 - 20:33 #1043098

ขาดความรอบคอบมากๆ

By: napatercatch on 10 April 2018 - 07:22 #1043138
napatercatch's picture

ดูเหมือนหัวข้อข่าวจะพิมพ์ผิดนะครับจาก 'ช' เป็น 'ข'