
易往信息是中國領先的工業4.0智能工廠整體解決方案提供商。憑借十余年行業項目實施經驗的沉淀,結合當前“中國制造2025”的核心思想,不斷升級智能制造領域業務,涵蓋汽車整車及零部件、電子、食品、制藥、機加、家電、能源、物流等行業,是制造企業智能改造落地的最佳選擇。
多年來,易往信息致力于中國工業軟件的研發與創新。在工業軟件產品的研發過程中,最常采用的是傳統瀑布式開發模式。易往信息借鑒互聯網開發的最佳實踐,采用SCRUM敏捷開發模式彌補傳統瀑布式開發模式的不足,以提高產品研發的效率。在敏捷開發模式中,將整個產品研發周期設置成為若干個沖刺周期(一般以2-4周為一個周期),每個周期都包含需求選擇、設計、功能實現與測試等階段,小步多贏的實現產品研發的目標。
隨著產品開發復雜度的不斷提高,團隊成員不斷增多,如何更好地協同工作,如何保持良好的溝通,如何按計劃執行,如何保證產品質量已經成為開發過程中不可忽略的問題。因此團隊引入持續集成方案(Continuous integration ,簡稱CI),希望能夠有效解決上述問題。
究竟為什么我們要去做持續集成,持續集成究竟可以給我們帶來什么好處?
持續集成有如下顯而易見的優點:
1、
減少重復性的工作,快速頻繁的發布代碼,節省時間成本,提高效率;
2、
易于定位錯誤,及時反饋,減少風險,盡早排除環境參數影響,盡早發現缺陷,盡早評估質量;
3、
優化對研發進度的控制,便于研發流程各環節的銜接;
4、
便于更充分的測試,開展daily build和smoking test相結合;
5、
便于工具結合,持續代碼質量改進。如代碼檢查、自動化測試、自動化部署、回滾、反饋報告等;
6、
更快的產出系統級成果,產品透明化,建立產品信心。
工欲善其事,必先利其器。選擇一個好的工具很重要,而Jenkins就是持續集成的標志性工具。它是基于Java的純Web UI操作的免費開源持續集成引擎,支持眾多插件和開發語言等(參照圖1-Jenkins界面)。

圖1 -Jenkins界面
持續集成大致的工作流程分為以下幾步(圖2-Jenkins工作原理):
1、開發者將實現的代碼模塊或者修復的功能代碼push到git server (Gitlab)上;
2、Jenkins構建觸發器觸發進行一次build請求(可配置觸發構建方式);
3、Jenkins觸發獲取Gitlab上的代碼,借助Maven構建插件進行編譯,測試,反饋結果,打包等系列活動
4、構建結束后,觸發Jenkins部署環境的配置(也可以是設置好的shell腳本)將程序包部署到對應的運行環境(測試環境或生產環境)中完成整個持續集成過程自動化。

圖2-Jenkins工作原理
通過引入持續集成工具Jenkins,我們達到了如下目標:
l 持續 (Continuous):不斷的獲取問題反饋,響應修改問題;
l 集成 (Integration):編譯、測試、構建、打包;
l 部署 (Deployment):應用組件或配置變更在部署環境中生效;
l 發布 (Release):具有完整業務邏輯的功能實現;
l 交付 (Delivery):可以理解為從 Deployment 到 Release 之間的階段,更多的強調是一種持續化能力。
通過采用敏捷開發模式,使得我們的產品研發不必等待全部功能設計完成,即可快速啟動開發,通過多輪迭代,逐步完善產品功能。在這個過程中,持續集成CI工具以及其他一些輔助工具的使用,確保了代碼開發質量,并使得產品隨時可編譯、可交付,為產品研發帶來了很大的靈活性與便利性,顯著提高了產品研發的效率。