如何在Choerodon平臺中導入應用服務

經過以前的文章《Choerodon豬齒魚實踐之應用生命週期管理》,咱們已經基本瞭解了Choerodon平臺中應用服務的特性和微服務架構的特色。在此基礎上,本文將爲你們介紹Choerodon平臺中導入應用服務的功能。前端

導入應用服務功能的背景

因爲Choerodon平臺採用的是微服務架構,所以其中的應用會被分解爲更小、徹底獨立的服務組件,這使得它們擁有更高的敏捷性、可伸縮性和可用性。基於這些特色,咱們就能夠將各個項目中開發獲得的應用服務組件化,並達到複用應用服務的效果,以此來避免重複造輪子的狀況。git

對於同組織內不一樣項目之間的應用服務共享,咱們在以前的文章中已經進行了詳細地介紹(具體步驟請參考:Choerodon豬齒魚實踐之應用服務共享);可是若是想將應用服務共享至其餘組織中的某個項目,或者將以前在其餘平臺中開發的應用服務遷移到Choerodon平臺之中,咱們要怎樣實現呢?這就涉及到下面要介紹的「導入應用服務」的功能。github

導入應用服務功能介紹

導入應用服務目前有3個來源,分別是:共享應用(組織內其餘項目共享至本項目下的應用服務)、GitHubGitLab。目的是從這些來源中導入已有的應用服務及其對應的代碼倉庫,並支持在已有應用服務的基礎上進行開發,以此來避免重複造輪子的狀況。web

共享應用

若同組織其餘項目下存在符合需求的應用服務,只需經過共享規則的方式將此應用服務共享至本項目便可;而在本項目中導入目標應用服務後,便能在原有代碼庫的基礎上進行二次開發或部署。(注意:選擇添加應用服務後,會默認選擇該應用服務共享出來的最新版本;若直接導入,此時便會將該服務版本對應的代碼庫與commit導入到項目之中;此處版本可自主切換)圖片架構

從GitHub導入

若目標應用服務的代碼已經被上傳至GitHub之中,此時只需在導入應用服務中選擇「從GitHub導入」,再輸入GitHub的HTTP地址,便能將應用服務的倉庫克隆至本項目下進行二次開發。Choerodon平臺目前支持從GitHub公庫導入應用服務,且不能導入空庫。app

此外,Choerodon還在GitHub上預置了多個經常使用的應用服務模板供各個項目團隊選擇。只需在「從GitHub導入」的選項中,選擇導入來源爲「系統預設模板」便可。其中的應用服務模板是由同類型應用服務的代碼庫整理而成的,引用了相應的應用服務模板後,便可在gitlab中快速地建立初始代碼庫。其中包括:微服務

  • 微服務-MicroService;
  • web前端-MicroServiceFront;
  • Java庫-JavaLib;
  • Java庫-SpringBoot;
  • Go庫-GoTemplate;
  • 自動化測試-Mocha-ChoerodonMochaTemplate;

在這些模板中,至少都包含了 Dockerfile 文件、CI 文件以及 Chart 目錄文件。組件化

其中Dockerfile是由一系列命令和參數構成的腳本,這些命令應用於基礎鏡像並最終建立一個新的鏡像,主要用於控制應用容器化的進程。其次是CI文件,模板中的CI文件主要用於設置在提交代碼後,自動集成時要經歷的全部階段。而其中的Chart目錄文件則用於將平臺中的容器打包,統一置於K8S平臺進行管理。gitlab

圖片

從GitLab導入

若目標應用服務的代碼已經被上傳至GitLab之中,此時只需在導入應用服務中選擇「從GitLab導入」,再輸入GitLab的HTTP地址(若爲私庫,還需輸入私有Token)。便能將應用服務的代碼倉庫克隆至本項目下進行二次開發。Choerodon平臺目前支持從GitLab的公庫和私庫導入應用服務,且一樣不能導入空庫。測試

圖片

應用服務導入成功以後,系統會默認在本項目對應的 gitlab group 中建立一個 project 做爲此應用服務的初始代碼庫,然後再經過相應的頁面功能實現對此應用服務的管理。同時,能夠在「代碼管理」模塊,按照規範的開發流程對導入的應用服務進行分支管理、合併請求管理、版本管理、CI管理、標記管理以及代碼質量的監測。

總結

導入應用服務功能使得Choerodon平臺中的應用服務更加靈活,不單單支持組織內各項目之間應用服務的共享與複用,還可經過GitHub與GitLab導入的方式實現跨組織和跨平臺的複用已有的應用服務,充分地發揮微服務架構的敏捷性與可伸縮性。

關於豬齒魚

Choerodon 豬齒魚做爲開源多雲應用敏捷全鏈路技術平臺,是基於開源技術Kubernetes,Istio,knative,Gitlab,Spring Cloud來實現本地和雲端環境的集成,實現企業多雲/混合雲應用環境的一致性。平臺經過提供精益敏捷、持續交付、容器環境、微服務、DevOps等能力來幫助組織團隊來完成軟件的生命週期管理,從而更快、更頻繁地交付更穩定的軟件。

更加詳細的內容,請參閱Release Notes官網

你們也能夠經過如下社區途徑瞭解豬齒魚的最新動態、產品特性,以及參與社區貢獻:

歡迎加入Choerodon豬齒魚社區,共同爲企業數字化服務打造一個開放的生態平臺。

本篇文章出自 Choerodon豬齒魚社區毛智偉。
相關文章
相關標籤/搜索