天天看點

如何将開源容器應用快速打造為雲開發應用

雲開發應用可以了解為運作在雲開發環境的應用,例如一個包含前後端、資料庫等能力等服務,可以通過一鍵部署,直接部署在雲開發環境中,使用雲開發底層的各項 Serverless 資源,享受彈性免運維的優勢。

如何将開源容器應用快速打造為雲開發應用

一個雲開發應用可以拆解為三個部分,包括代碼、聲明式配置和環境變量資訊。

如何将開源容器應用快速打造為雲開發應用

下面我們以開源存儲項目Nextcloud為例,示範如何将一個開源的容器化的項目快速打造為可以一鍵部署的雲開發應用。

Nextcloud 是一套個人雲存儲解決方案,内置了圖檔相冊、月曆聯系人、檔案管理、RSS 閱讀等豐富的應用,這個應用本身是開源的,同時提供了部署的 Docker 鏡像,需要搭配 MySQL 資料庫,下面會示範如何實作這個應用的一鍵部署。
如何将開源容器應用快速打造為雲開發應用

通過雲開發一鍵部署,可以部署在使用者的雲開發環境中,無需關心伺服器管理和運維。

如何将開源容器應用快速打造為雲開發應用

第一步:選擇雲開發環境(注意:需要選擇一個 HTTP 通路路徑的根路徑未被占用的環境)。

如何将開源容器應用快速打造為雲開發應用

第二步:可以進行網絡配置、标簽配置,以及關聯或者建立雲上的資源,比如這個應用依賴了 CFS 來實作容器的檔案存儲,使用了 CynosDB for MySQL(Serverless版本)來作為資料庫依賴。

如何将開源容器應用快速打造為雲開發應用

第三步,點選 完成 ,等待安裝完成之後即可在控制台打開應用的通路位址來進行通路。

如何将開源容器應用快速打造為雲開發應用

那麼問題來了:如何打造這樣一個支援一鍵部署的雲開發應用呢?

整體的步驟分為開發、配置和部署驗證三個環節。這篇文檔會主要介紹配置和部署驗證兩個環節。

開發環節在此不作重點介紹,可以通過文末的源碼連結來了解具體的實作。

雲開發的雲托管服務:使用雲托管來部署應用的後端服務;

CynosDB:使用 CynosDB 資料庫存儲資料;

CFS:使用 CFS 持久化存儲資料。

有了項目的代碼之後,如何把這個應用打造成為可以一鍵部署的雲開發應用呢?

下面會分步驟介紹如何通過配置來打造雲開發應用。

首先建立一個 <code>cloudbaserc.json</code> 配置檔案,檔案的内容如下。

<code>envId</code> 指定應用部署在哪個環境下,這裡我們用模闆變量 <code>env.ENV_ID</code>表示讀取 <code>ENV_ID</code> 環境變量;

<code>framework.name</code> 是應用的英文名,隻支援 A-Z a-z 0-9 - 和 _,長度 1-32 位;

<code>framework.plugins</code> 是應用用到的插件資訊,這裡先留白,下面我們根據資源和應用類型來填寫;

如果需要了解更多項目資訊的配置,請參考應用項目資訊說明文檔。

這一步我們需要使用雲托管插件,來自動化地部署容器服務到雲開發的雲托管上。

在 <code>framework.plugins</code> 下增加一個字段 <code>server</code>,字段的值是一個 JSON 對象。

在部署應用時,還可能需要使用者來輸入一些自定義的參數,或者配置像上文提到的雲上外部資源。

這些都可以在<code>framework.requirement</code> 中進行配置:

如何将開源容器應用快速打造為雲開發應用

接下裡我們就可以上傳代碼到 Git,來生成一個一鍵部署按鈕了。首先打開一鍵部署按鈕生成位址:

https://docs.cloudbase.net/framework/deploy-button.html

在頁面當中輸入項目的 Git 位址,配置檔案所在目錄以及分支資訊,就可以自動生成下面的部署按鈕代碼片段。

如何将開源容器應用快速打造為雲開發應用

這裡會生成部署按鈕的幾種格式的代碼片段,可以在不同的場景下嵌入部署按鈕來讓使用者部署你的應用。

如何将開源容器應用快速打造為雲開發應用

其中:

Markdown 代碼适合用在 README、Mardkown 編寫的部落格文章等場景;

HTML 代碼适合用在公衆号、HTML 編寫的網站/部落格文章等場景;

URL 連結可以在任何支援超連結的頁面使用,您可以複制下方連結,粘貼到對應的頁面中。

生成完部署按鈕之後,可以按照雲開發應用模闆來編寫 README 文檔,送出應用到雲開發應用中心。

應用模闆位址:

https://github.com/TencentCloudBase-Marketplace/app-template

在這篇文章中,我們了解了什麼是雲開發應用,并以 Nextcloud 項目為例,介紹了如何将開源的容器化的項目,快速打造為可以一鍵部署的雲開發應用。

通過實戰,我們也展示了雲開發以及 CloudBase Framework 的使用:隻需要完成開發、配置以及部署驗證,就可以快速将應用變為可以快速分發的程式,使用者無需手動搭建環境和配置,即可自動化部署應用。

掌握打造雲開發應用技巧後,邀您參加雲開發應用征集活動,送出作品即可獲得雲開發文化衫一件,更有機會赢取Switch、Cherry鍵盤、Kindle等好禮,快點選下方圖檔了解詳情吧:

如何将開源容器應用快速打造為雲開發應用

項目示範位址:

https://fx-1259727701.ap-shanghai.service.tcloudbase.com/

本項目的源碼可以在 Github 中檢視和擷取:

https://github.com/TencentCloudBase-Marketplace/nextcloud

一鍵部署按鈕生成器:

雲開發應用模闆:

雲開發應用源碼清單:

https://github.com/TencentCloudBase-Marketplace

Nextcloud 官方開源倉庫:

https://github.com/nextcloud/server

雲開發應用中心:

https://www.cloudbase.net/marketplace.html

CloudBase Framework:

https://github.com/Tencent/cloudbase-framework

雲開發(Tencent CloudBase,TCB)是騰訊雲提供的雲原生一體化開發環境和工具平台,為開發者提供高可用、自動彈性擴縮的後端雲服務,包含計算、存儲、托管等serverless化能力,可用于雲端一體化開發多種端應用(小程式,公衆号,Web 應用,Flutter 用戶端等),幫助開發者統一建構和管理後端服務和雲資源,避免了應用開發過程中繁瑣的伺服器搭建及運維,開發者可以專注于業務邏輯的實作,開發門檻更低,效率更高。

繼續閱讀