ลองใช้ Hudson (ปัจจุบัน Jenkins) กับ Platform VB6

พอดีเห็นงานที่บริษัทมันยุ่งยากมากกับการ 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 ดีกว่าครับ