
當有多個開發人員參與項目時,通過Git進行分支和Tag管理,将軟體的版本控制以及分支管理貫穿于整個軟體産品的生命周期,能有效的避免代碼沖突,提高開發效率。Choerodon 代碼倉庫就是基于 Git 進行代碼版本管理。本文介紹了 Choerodon 豬齒魚中開發應用服務的方法,包括建立分支、克隆、推拉代碼、合并分支等。
開發應用服務
在Choerodon中開發應用服務之前,首先需确認已在Choerodon項目下建立應用服務,并配置了 Git,包括下載下傳安裝、設定等。
第一步:建立分支
Choerodon使用 GitLab 進行分支管理,預設分支為 master。目前支援六種常見的分支類型:
- master:主分支,用于版本持續釋出;
- feature:特性分支,用于日常開發時切出分支進行單功能開發;
- bugfix:故障修補分支,通常用于修複故障;
- release:釋出分支,适用于産品釋出、産品疊代;
- hotfix:熱修分支,用于産品釋出後修複缺陷;
- custom:自定義分支,使用者可以自定義需要的分支類型。
注: bugfix旨在與靈活的問題類型(故障)呼應,用于辨別此分支的任務是修複某個故障
這裡我們以
Feature 分支為例,在Choerodon中進行分支建立。
- 在 代碼管理 -> 分支 界面,選擇應用服務
;豬齒魚Todo服務
- 點選
,如果沒有建立分支
可選擇,則先建立問題, 選擇對應的issue;issue
- 分支來源選擇master,填寫issue号,如
,點選建立,即可建立一個分支;feature-1
- 建立完分支之後,您就可以進行後續的本地開發。
例如,
-
- 問題名稱: choerodon-dev-1 豬齒魚快速入門文檔
- 分支來源: master
- 分支類型: feature
- 分支名稱: feature-choerodon-dev-1
Choerodon 采用 githubflow作為我們的分支管理政策的主體。并在此基礎上,參考了一些其他政策,對開發者的開發分支做了一定程度上的細分。更多相關資訊參考分支管理。
第二步:拉取代碼倉庫
- 在
菜單,找到代碼倉庫
的倉庫位址,複制倉庫位址;豬齒魚Todo服務
- 本地通過git 指令拉取生成的項目代碼;
- 切換到對應分支進行本地開發。
$ git clone `倉庫位址`
$ cd ./choerodon-todo-servie
$ git checkout feature-choerodon-dev-
克隆代碼時候,會讓輸入使用者名,密碼。使用者名為平台使用者名,密碼為使用者建立後收到的站内信中的Gitlab倉庫密碼,若忘記密碼,可以到個人資訊頁面重置GitLab倉庫密碼。
第三步:本地開發
将代碼克隆到本地後,就可以在本地進行開發。
通過Choerodon 提供的MicroService 應用服務模闆,會生成一個極簡單的spring boot 應用服務。模闆本身生成的應用服務可以直接運作在平台上,如需拓展更多功能,可具體參考後端開發手冊。
第四步:送出代碼
當本地做了相關修改之後,需要将本地倉庫的代碼送出到遠端分支上。送出的使用者名密碼同克隆代碼庫的一樣。
$ git add .
$ git commit -m "[ADD] init todo-service"
$ git push origin feature-choerodon-dev-
送出時需要遵循Choerodon 的規範:
- [IMP] 提升改善正在開發或者已經實作的功能
- [FIX] 修正BUG
- [REF] 重構一個功能,對功能重寫
- [ADD] 添加實作新功能
- [REM] 删除不需要的檔案
第五步:代碼內建
當代碼送出到伺服器之後,可以在頁面檢視持續內建。
- 在代碼管理 -> 持續內建 頁面,選擇應用服務
;豬齒魚Todo服務
- 點選階段跳轉到Gitlab 檢視 CI 執行情況。
第六步:合并分支
當 CI 執行通過以後,可以将feature分支合并到master分支上。
- 在代碼管理 -> 合并請求 頁面,選擇應用服務
;豬齒魚Todo服務
- 點選建立合并請求,跳轉到Gitlab;
- 分别選擇源分支為
,目标分支為master,并送出合并請求。等待ci流水線通過後,點選合并分支。feature-choerodon-dev-1
當
master
分支的ci流水線 通過以後,在應用服務 -> 點選應用服務
豬齒魚Todo服務
,便能在”服務版本“Tab頁中看到
豬齒魚Todo服務
生成的版本。此處的版本會用于後續的部署操作。若想了解更多Choerodon豬齒魚版本相關的内容,可參考
Choerodon豬齒魚實踐之持續傳遞中的分支管理與版本控制choerodon.io
總結
以上就是使用Choerodon開發應用服務的全部流程,應用服務的開發過程也可以說是代碼管理的過程,支援着團隊的協作開發與持續內建,保證項目的進度和效率。
關于豬齒魚
Choerodon 豬齒魚作為開源多雲應用靈活全鍊路技術平台,是基于開源技術Kubernetes,Istio,knative,Gitlab,Spring Cloud來實作本地和雲端環境的內建,實作企業多雲/混合雲應用環境的一緻性。平台通過提供精益靈活、持續傳遞、容器環境、微服務、DevOps等能力來幫助組織團隊來完成軟體的生命周期管理,進而更快、更頻繁地傳遞更穩定的軟體。
更加詳細的内容,請參閱Release Notes和官網。
大家也可以通過以下社群途徑了解豬齒魚的最新動态、産品特性,以及參與社群貢獻:
- 官網:http://choerodon.io
- 論壇:http://forum.choerodon.io
- Github:https://github.com/choerodon
歡迎加入Choerodon豬齒魚社群,共同為企業數字化服務打造一個開放的生态平台。