從2017年開始,微信小程式的能力也随着前端的大發展的趨勢越來越多,包體積限制越來越寬松,大型微信小程式的開發團隊越來越多,為了适應形式,微信小程式官方團隊在2020年1月推出了官方CI工具,可以進行代碼上傳、預覽、拉取關鍵資訊等操作,甚至還能簡單的做雲開發雲函數的上傳工作。
這對于大型小程式開發團隊來說是好消息,其總算解決了微信小程式的工程化協作開發的曆史難題。
雲開發作為微信小程式的最佳後端雲服務,單靠小程式CI工具,還是不能有效滿足基于雲開發進行小程式開發的協作問題,因為雲開發所要涉及的,可是整個的後端服務,包括資料庫等各項基礎配置。
雲開發以支援微信小程式為起點,朝全平台應用服務支援邁進的同時,也在CI方面做了相應的工作,推出了雲開發專門的CI工具—CloudBase-FrameWork,是前後端一體化的部署工具,不止可以進行雲開發相應能力的部署,還可以做前端項目的部署工作。
現在,CloudBase-FrameWork支援部署微信小程式,除次之外,你還可以部署微信小程式所需要的全部雲開發能力,包括雲函數、資料庫、存儲等各種能力。同時,如果你的項目是一個跨平台的産物,還有WEB以及APP産品,CloudBase-FrameWork也可以一次性完整的為你部署。
在項目開發協作中,除了業務代碼之外,隻需要在配置檔案中進行相應配置,CloudBase-FrameWork就可以自動完成相應部署工作。

是以,使用雲開發作為後端服務的微信小程式開發團隊,可以完全不用自己建設,直接使用即可。以下是小編在Coding中使用CloudBase-FrameWork的持續內建流程配置
配合企業微信的群機器人,在開發成員push代碼後,自動建構并提醒開發者進行預覽。
接下來小編就帶大家簡單實踐一下,如何使用CloudBase-FrameWork部署微信小程式
步驟一:擷取代碼 點選進入項目位址,擷取實踐的源碼。這是一個比較簡單的小程式,通過雲開發·雲調用提供的安全檢測能力進行文字和圖檔的安全檢測。
步驟二:配置cloudbaserc檔案 項目的根目錄中,有cloudbaserc.json檔案,這是CloudBase-FrameWork工作的保障和依據。
其中,envId是雲開發環境id,示例是通過環境變量引入形式給定的值,在實際部署時會被變量的值所替換。
插件是cloudbase-framework執行部署時發揮作用的子產品,在示例項目中,隻有部署雲函數和部署小程式兩件事情。
function插件主要用于部署雲函數,示例項目中有兩個雲函數,根據業務要求進行相應配置,framework就會按照配置進行部署工作。
詳細的部署文檔可以參考官方文檔
mp插件用于部署微信小程式,其将小程式有關代碼打包上傳,并傳回相應的預覽二維碼。除了上傳小程式所必要的配置資訊,傳回的二維碼儲存的位址也可配置。
以上所有配置檔案如果無特殊想法無需修改。
步驟三:建立env檔案 在示例項目的根目錄建立.env檔案,設定自己的環境變量參數,包括雲開發的環境ID,小程式appid,以及小程式代碼上傳私鑰。具體效果如下: ENV_ID=替換你的雲開發環境ID WX_APPID=替換你的微信小程式appid WX_CI_KEY_PATH=小程式上傳密鑰檔案路徑
小程式appid是一個微信小程式的關鍵辨別資訊,可以在開發者背景的開發欄目裡看到,如下圖所示:
而小程式代碼上傳密鑰,在appid的資訊下方,點選生成按鈕,經過微信驗證下載下傳密鑰檔案,将檔案重新命名為private.key,放置在示例項目根目錄下。另外,代碼上傳的IP白名單需要關閉。
如果你想保持打開,可以在第一次framework部署時出現拒絕錯誤,将傳回的ip位址(也就是你自己的本機ip位址)放置到白名單中。
雲開發需要使用微信開發者工具提前開通,注意儲存雲開發環境ID資訊。最終,配置的資訊如下所示:
步驟四:安裝依賴 framework是內建在CLI工具中的,是以需要npm全局安裝CLI工具,執行如下指令: npm install -g @cloudbase/cli@latest
之後,直接執行tcb即可自動檢測并部署,選擇Y,繼續部署
之後,cloudbase-framework就根據配置檔案的要求進行部署,并将小程式的預覽二維碼儲存到規定的地方。
不止簡單的CI工具 如此,你便從本地完成framework自動化部署的過程。當然除了示例項目簡單的雲函數、微信小程式部署,cloudbase-framework還可以同時完成更多的事情。比如部署資料庫、雲托管、Nuxt SSR應用、Deno應用、Node應用等等,具體可以直接到官網獲得
不僅如此,CloudBase-FrameWork還推出了一鍵部署功能,特别适合開源項目使用。體驗者隻需要點選部署按鈕,CloudBase-FrameWork會直接跳轉騰訊雲控制台,引導體驗者一步步的填寫部署所需資訊(包括選擇環境,填寫小程式appid等),直接拉取開源代碼進行安裝部署,徹底解決了因為體驗者經驗不同導緻開源項目千人千面的窘迫境地。
如果你所在的開發團隊還沒有get這個最強利器,還等什麼呢?
點選下面位址,嘗試示例項目部署安全檢查小程式 https://github.com/TCloudBase/WXAPP-SecCheck
🚀 CloudBase Framework 是雲開發開源的雲原生前後端一體化部署工具,支援主流前後端架構,前後端一鍵托管部署在雲端一體化平台,支援支援小程式、Web、Flutter、後端服務等多個平台。
Github 開源位址:https://github.com/TencentCloudBase/cloudbase-framework
歡迎給 CloudBase Framework 一個 🌟 star
歡迎大家參與 CloudBase Framework 的開發工作,成為我們的貢獻者,我們将會在雲開發社群展示貢獻者的作品和資訊,同時也會有驚喜獎勵。
您可以選擇如下的貢獻方式:
貢獻技術文章:https://github.com/TencentCloudBase/cloudbase-framework/tree/master/community/posts
貢獻應用:https://github.com/TencentCloudBase/cloudbase-framework/blob/master/doc/app.md
貢獻代碼,送出 Pull Request
回報 bug,送出 Issue
在技術會議上發表技術演講
CloudBase Framework 的發展離不開社群的積極貢獻,這是我們的核心貢獻者清單,再次感謝大家的貢獻:https://github.com/TencentCloudBase/cloudbase-framework#contributors-
雲開發(Tencent CloudBase,TCB)是騰訊雲提供的雲原生一體化開發環境和工具平台,為開發者提供高可用、自動彈性擴縮的後端雲服務,包含計算、存儲、托管等serverless化能力,可用于雲端一體化開發多種端應用(小程式,公衆号,Web 應用,Flutter 用戶端等),幫助開發者統一建構和管理後端服務和雲資源,避免了應用開發過程中繁瑣的伺服器搭建及運維,開發者可以專注于業務邏輯的實作,開發門檻更低,效率更高。