พอดีเห็นงานที่บริษัทมันยุ่งยากมากกับการ Build Legacy Code เก่าอย่าง VBุ6 ที่มีปัญหามากมาย โดยย้าย Code จาก Microsoft Source Safe มายัง SVN แล้ว จากนั้นเชื่อมกับตัว Continuous Integration อย่าง Hudson ครับ เพื่อแก้ไขปัญหา ดังนี้
- ลดข้อผิดพลาดจากการ Check In Source Code โดยทำให้ตัว CI Server ทดสอบ Build และแจ้งผลหากมีข้อผิดพลาด
- ทำ Automate Build ของ VB6 เพื่อลดการจากการอัตโนมือ ซึ่งมีข้ออผิดพลาดสูง และจากข้อที่แล้วที่มีการ Build สม่ำเสมอทำให้เราเอาตัว .exe หรือ DLL เหล่านั้นมาใช้ได้เลย โดยต้องมี
- ทำ Build Tools มาครอบ vb6.exe ดังนี้ pingkunga/VB6AutoBuildApp: VB6AutoBuildApp (github.com) //ได้ย้าย Code จาก svn > GitHub เลยมา Update Blog อีกที
- เพิ่ม job ใน Jenkins ให้มาเรียกตัว Build Tools
- พยายามทำ UI Test ถ้าทำได้ เพราะเท่าที่ลองหาข้อมูลดู Nunit กับ TestStack ในการทำ Test แบบ UI Test น่าจะมีความเป็นไปได้สูงสุด เพราะการไปปรับ Code ให้ VB6 รองรับ UnitTest เสียเวลามากเกินไป ยอม Rewrite เป็น Java หรือ .Net ดีกว่าครับ