小程序·雲開發地表最強CI利器來了

小程序CI 與 CloudBase-FrameWork

從2017年開始,微信小程序的能力也隨着前端的大發展的趨勢越來越多,包體積限制越來越寬鬆,大型微信小程序的開發團隊越來越多,為了適應形式,微信小程序官方團隊在2020年1月推出了官方CI工具,可以進行代碼上傳、預覽、拉取關鍵信息等操作,甚至還能簡單的做雲開發雲函數的上傳工作。

這對於大型小程序開發團隊來說是好消息,其總算解決了微信小程序的工程化協作開發的歷史難題。

雲開發作為微信小程序的最佳後端雲服務,單靠小程序CI工具,還是不能有效滿足基於雲開發進行小程序開發的協作問題,因為雲開發所要涉及的,可是整個的後端服務,包括數據庫等各項基礎配置。

雲開發以支持微信小程序為起點,朝全平台應用服務支持邁進的同時,也在CI方面做了相應的工作,推出了雲開發專門的CI工具—CloudBase-FrameWork,是前後端一體化的部署工具,不止可以進行雲開發相應能力的部署,還可以做前端項目的部署工作。

現在,CloudBase-FrameWork支持部署微信小程序,除次之外,你還可以部署微信小程序所需要的全部雲開發能力,包括雲函數、數據庫、存儲等各種能力。同時,如果你的項目是一個跨平台的產物,還有WEB以及APP產品,CloudBase-FrameWork也可以一次性完整的為你部署。

在項目開發協作中,除了業務代碼之外,只需要在配置文件中進行相應配置,CloudBase-FrameWork就可以自動完成相應部署工作。

所以,使用雲開發作為後端服務的微信小程序開發團隊,可以完全不用自己建設,直接使用即可。以下是小編在Coding中使用CloudBase-FrameWork的持續集成流程配置

配合企業微信的群機械人,在開發成員push代碼後,自動構建並提醒開發者進行預覽。

如何使用CloudBase FrameWork部署微信小程序

接下來小編就帶大家簡單實踐一下,如何使用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這個最強利器,還等什麼呢?

點擊下面地址,嘗試示例項目部署安全檢查小程序 //github.com/TCloudBase/WXAPP-SecCheck

CloudBase Framework 開源項目介紹

🚀 CloudBase Framework 是雲開發開源的雲原生前後端一體化部署工具,支持主流前後端框架,前後端一鍵託管部署在雲端一體化平台,支持支持小程序、Web、Flutter、後端服務等多個平台。

Github 開源地址://github.com/TencentCloudBase/cloudbase-framework

歡迎給 CloudBase Framework 一個 🌟 star

CloudBase Framework 核心貢獻者計劃

歡迎大家參與 CloudBase Framework 的開發工作,成為我們的貢獻者,我們將會在雲開發社區展示貢獻者的作品和信息,同時也會有驚喜獎勵。

您可以選擇如下的貢獻方式:

CloudBase Framework 的發展離不開社區的積極貢獻,這是我們的核心貢獻者列表,再次感謝大家的貢獻://github.com/TencentCloudBase/cloudbase-framework#contributors-

產品介紹

雲開發(Tencent CloudBase,TCB)是騰訊雲提供的雲原生一體化開發環境和工具平台,為開發者提供高可用、自動彈性擴縮的後端雲服務,包含計算、存儲、託管等serverless化能力,可用於雲端一體化開發多種端應用(小程序,公眾號,Web 應用,Flutter 客戶端等),幫助開發者統一構建和管理後端服務和雲資源,避免了應用開發過程中繁瑣的服務器搭建及運維,開發者可以專註於業務邏輯的實現,開發門檻更低,效率更高。
開通雲開發://console.cloud.tencent.com/tcb?tdl_anchor=techsite
產品文檔://cloud.tencent.com/product/tcb?from=12763
技術文檔://cloudbase.net?from=10004
技術交流加Q群:601134960
最新資訊關注微信公眾號【騰訊云云開發】