天天看點

十分鐘 CODING DevOps 全鍊路體驗

CODING 帶你進入“代碼即制品”時代

近期 CODING 團隊在 2019 KubeCon 大會上釋出 DevOps 一站式解決方案:CODING 2.0。此次 CODING 全新上線了持續內建與制品庫子產品,通過自動化與标準化的方式來幫助開發者擺脫編譯、建構、內建、制品管理等重複勞動,旨在打造沉浸式開發體驗。在 KubeCon 大會現場,我們以一個基于 Spring 的模版項目為例,展示了開發者如何基于 CODING 輕松完成編碼到建構制品的過程。

新項目建立

首先建立一個項目,選擇一個您熟悉的開發語言預置模版。預置代碼模版提供了從代碼生成、持續內建、制品庫的自動配置,并已預置了 Dockerfile ,實作 Docker 容器化的打包方式。目前代碼模版已内置了包括 Java、Ruby、Android、Node.js、Python 等主流語言開發架構的網頁或移動端應用。

十分鐘 CODING DevOps 全鍊路體驗

隻需幾分鐘,項目即可建立完畢。CODING 為您建立了一個代碼倉庫,并将一個簡單 Java 網頁應用的代碼推送到倉庫 master 分支,還為您建立一條可直接運作的建構流水線,産物為 Docker 鏡像。基于建立好的代碼倉庫和建構流水線您可以立即進行代碼開發,并且快速內建代碼。

十分鐘 CODING DevOps 全鍊路體驗

接下來我們基于建立好的模版項目 spring-demo ,通過三個環節:代碼托管、持續內建、制品管理,來看看 CODING 的 DevOps 配置具體是什麼樣的。

代碼托管

CODING 提供代碼托管能力,并支援 Git 與 SVN 的代碼送出方式。在自動生成的代碼倉庫中我們看到了 Maven 編譯腳本、Jenkins 建構腳本、Docker 鏡像打包腳本、網頁應用的源碼。在 README 檔案中詳細介紹了各個源碼檔案的作用以及如何運作該網頁應用,對于開發新手來說可以說是手把手程度的詳細介紹。您可以通過本地 Git/SVN 用戶端來送出代碼。

十分鐘 CODING DevOps 全鍊路體驗

持續內建

修改後的代碼如何內建到軟體當中來?我們來看看預置模版下生成好的建構任務,并學習如何修改持續內建配置以滿足更多的場景需求。

  • 在下圖中可以看到系統已自動運作過第一次的建構,在持續內建首頁您可以清晰地看到每次建構結果的狀态、觸發原因、持續時長等基本資訊。CODING 的持續內建支援多 Job 并發運作,如果您的研發團隊有這方面的需求,在持續內建頁面按需建立多個建構任務即可。
十分鐘 CODING DevOps 全鍊路體驗
  • 在建構記錄中您可以看到每次建構結果的詳細資訊。比如建構過程的運作狀态,如果遇到建構失敗的情況,您就可以在該頁面檢視失敗環節的日志資訊以便快速修複建構流水線。您還可以看到改動記錄、測試報告、還有生成的建構産物(比如 Jar/War/腳本/配置檔案等建構半成品)。最終的建構産物(比如 Docker 鏡像)通過簡單配置即可自動推入制品庫中,稍後我們會詳細介紹制品庫。
十分鐘 CODING DevOps 全鍊路體驗
  • 接下來我們來看看建構任務的具體配置是怎樣的。在觸發方式中您可以按需設定觸發方式、郵件通知人員。在持續內建過程中您可以選擇通過圖形化編輯器或者文本編輯器(如果您對 Jenkinsfile 腳本熟悉)的方式來詳細配置建構的每個環節。針對一些持續內建過程中無法明文展示或者易變的資訊,您可以通過環境變量或者憑據注入的方式來進行設定。如果想要加快建構速度,您可以打開緩存配置,同時還支援清空重置。
十分鐘 CODING DevOps 全鍊路體驗

制品管理

在持續內建完成生成建構産物後,我們來看看如何使用 CODING 的制品庫來管理這些制品。

  • CODING 制品庫的層級關系為:倉庫 > 包 > 版本,每個層級描述如下:

倉庫:用于管理不同類型的倉庫和倉庫下的包資源,可以設定倉庫對外的通路權限。

包:建構産物對外提供通路的基礎單元,用于介紹目前建構産物的用途和使用指引。

版本:列出某個包下的所有建構産物,詳細記錄了每次建構産物的版本疊代更新變化。

十分鐘 CODING DevOps 全鍊路體驗
  • 倉庫當中會明确提示推送以及拉取指引,不同的制品類型對應着不同的存儲、拉取、共享方式。除了通過 CODING 的持續內建将制品自動推送到制品庫,也可以在本地環境當中推送或上傳您的制品。
十分鐘 CODING DevOps 全鍊路體驗
  • 您可以設定倉庫的基本資訊(倉庫類型、名稱、描述、權限範圍),也可以設定包的基本資訊(包名稱、許可證、成熟度、問題跟蹤等)。在描述軟體包的頁面,您可以詳細的了解版本資訊(版本号、哈希值、上傳者等),以便您的研發團隊能清晰地追溯每個制品的情況。
十分鐘 CODING DevOps 全鍊路體驗

目前 CODING 制品庫已支援 Docker、NPM、PyPI、Generic File、Helm 等多種類型的制品管理,後續會支援更多制品類型,敬請期待。

點選下方,了解更多 CODING 2.0 更新資訊:

《CODING 2.0 企業級持續傳遞解決方案》

《打通 DevOps 任督二脈 ,CODING 2.0 制品庫全新上線》

《擁抱自動化,CODING 2.0 持續內建全新上線》

點選使用 CODING 2.0

體驗 DevOps 全工具鍊靈活研發

繼續閱讀