我如何讓軟體二次開發變簡單
我是一名從事Java開發工作的程式設計師,公司在準一線城市,成立5年時間,ERP系統開發是公司業務中重要的一部分。前段時間我個人接手了一個ERP二次開發的任務,根據客戶的需求對公司已開發的ERP進行改造來滿足它的實際應用。前期的開發工作還是比較輕鬆的,輕車熟路的在現有的ERP功能中,對部分功能進行了刪除,新增客戶特定的功能需求等,根本不需要編輯大量的程式碼,開發進度及其順利,這真是一份美差事!但是隨著開發進度的推移,我的噩夢也到來了:
首先,問題出現在構建、部署、測試、修改bug再提交這個過程中,這也是我認為這個任務最耗時間的部分。我將程式碼在本地MyEclipse中修改完成後,繼而打成war包,傳送給公司負責部署的同事,他將war包部署釋出在測試伺服器上,提供地址供測試人員去測試,測試人員將測試後的bug表已Excel形式傳送給我,我再對程式碼進行修改,再打war包。。。這簡直是一個死迴圈。
其次,由於大多數客戶初期並不知道自己想要的是什麼樣的ERP,只有在操作試用當中,才會發現他們自己真正想要的是什麼,這個客戶也不例外。我們將產品釋出到外網,供他們試用時,他們幾乎是每天都會對功能提出“建設性”意見,這裡應該怎麼修改,那裡應該新增些什麼樣的功能。因此幾乎隔一天都會拿到客戶“新需求”,對系統的功能修改,再交付,那段時間的日子不堪回首,客戶的要求是真的很多。
再次,偶爾會出現,週末甚至是晚上九十點鐘的時候,由於某些限定條件,客戶類似於匯出Excel按鈕失效這樣一些小問題的發生(這裡各位看客會提出疑問:這樣的產品為什麼允許給客戶使用?因為我們不正規啊,因為客戶急需啊,客戶並不介意、要跟我們一起推進啊),我都會急匆匆趕回公司,順帶捎上我們的部署大師,沒他我給客戶部署釋出不了啊,整的那段時間他對我敬而遠之,最不想接到的就是我的電話。
就這樣一直磕磕絆絆的過了一段時間,直到無意中接觸到了華為軟體開發雲,僅僅經過半天的使用,我就被它給徹底征服了。幫我解決了很多的問題,在這裡,我也把它推薦給跟我有同樣遭遇的你們。
我主要使用的是流水線功能,然後就實現了只操作一次。我是這樣做的:
1、通過git將我本地寫好的程式碼上傳到軟體雲的程式碼倉庫中,配置及其簡單,使用也很方便,在倉庫中的管理也很直觀清晰:
2、根據上傳的程式碼建立程式碼檢查任務,目前應該是可以支援Java、js、web、css和C++,對於我來說完全夠用,建完是這樣的:
3、根據倉庫裡的程式碼新建一個構建任務:
六個步驟搞定,so easy!建完效果如下:
4、根據編譯構建生成的war包,建立一個部署任務:
只需要五個步驟的操作,輕鬆了不少:
5、重點來了,建立流水線任務,將之前建立的三個任務新增到流水線當中:
三步建完一個流水線任務,是不是很輕鬆?接下來的執行就是很簡單的了,每次更新程式碼之後,點選執行即可:
通過流水線的功能,我要做的就是:編寫程式碼,更新到程式碼倉庫,點選流水線任務,有問題就改程式碼然後再更新倉庫,執行流水線,就是這麼簡單,我不再需要反覆去做重複的事情,不再需要去麻煩我的部署的同事。而且程式碼倉庫還可以直接線上編輯程式碼,對一些小問題,在家就可以修改,然後重新執行構建部署,根本不需要再去公司解決,隨時隨地解決問題,這是一件很爽的事情。
毫不誇張的說,建立一次自動化流水線服務,受用終生啊!對我工作效率的提高不只是一點點,之前我遇到的那些都得到了妥善解決,自己一個人就可以完全搞定。
現在我已經熟悉了華為軟體開發雲這個平臺,已經可以逐步分出一部分精力轉移到其他的工作當中去,因為二次開發已經不再佔用我過多的時間和精力。我甚至願意多接一些erp二次開發的客戶需求,因為有了流水線功能,一切信手拈來,老闆都誇我能幹!
另外,單獨使用軟體開發雲的程式碼檢查功能也不錯,有1000條檢查規則,凝縮了華為的研發經驗在其中,還可以自由組合,再也不用擔心我的編碼問題了。新增到流水線當中,使流水線如虎添翼。