在軟體開發的流程中,自動化持續整合(continuous integration)已被廣泛證實可有效提高軟體品質與增加軟體穩定度。然而,實務上許多開發團隊卻並未落實此作法,我們認為其主要原因在於開發團隊缺乏一個規劃良好的持續整合環境。雖然市面上已有數種開放原始碼持續整合系統可供使用,然而由於一般開發團隊並不熟悉持續整合流程,因此無法有效將這些工具融入團隊的軟體開發流程之中。此外,這些工具之易用性與功能性仍有不足之處,因而限制其應用範圍。例如,一般持續整合系統無法將與平台相依之軟體測試工作自動分配到異質平台上進行測試,因此對於開發跨平台軟體的團隊而言,必須要分別為不同的平台安裝不同的持續整合環境,導致使用上與管理上的不便,並複雜化持續整合流程。 在本論文中,我們首先提出一個支援異質測試平台的持續整合流程,並設計與實作一個支援Java應用程式的持續整合系統—JCIS。本論文將討論設計持續整合系統的困難點,並詳細說明JCIS的分析與設計以解決這些困難。JCIS的實際應用與擴充系統的方法將以實例說明之。
About process of the software development, automatic continuous integration is the best practice which has been verified to improve software quality and increase reliability. However, some software development teams haven’t implemented the practice, because we think lack of the continuous integration environment is the major reason. There are already many tools of the open source continuous integration system on the market, but the general software development teams aren’t familiar with continuous integration process so that they don’t integrate these tools into their software development process. Furthermore, the usability and the functions of these tools aren’t still insufficient so that they are limited the scope of application. In this thesis, we propose a continuous integration process which supports the testing on heterogeneous platform, and we design and implement a system - Java Continuous Integration System (JCIS). This thesis would discuss the difficult points of design a continuous integration system, and mention how to resolve these difficult points in JCIS.