1. 程式人生 > >小程式·雲開發地表最強CI利器來了

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

## 小程式CI 與 CloudBase-FrameWork 從2017年開始,微信小程式的能力也隨著前端的大發展的趨勢越來越多,包體積限制越來越寬鬆,大型微信小程式的開發團隊越來越多,為了適應形式,微信小程式官方團隊在2020年1月推出了官方CI工具,可以進行程式碼上傳、預覽、拉取關鍵資訊等操作,甚至還能簡單的做雲開發雲函式的上傳工作。 這對於大型小程式開發團隊來說是好訊息,其總算解決了微信小程式的工程化協作開發的歷史難題。 雲開發作為微信小程式的最佳後端雲服務,單靠小程式CI工具,還是不能有效滿足基於雲開發進行小程式開發的協作問題,因為雲開發所要涉及的,可是整個的後端服務,包括資料庫等各項基礎配置。 雲開發以支援微信小程式為起點,朝全平臺應用服務支援邁進的同時,也在CI方面做了相應的工作,推出了雲開發專門的CI工具—CloudBase-FrameWork,是前後端一體化的部署工具,不止可以進行雲開發相應能力的部署,還可以做前端專案的部署工作。 現在,CloudBase-FrameWork支援部署微信小程式,除次之外,你還可以部署微信小程式所需要的全部雲開發能力,包括雲函式、資料庫、儲存等各種能力。同時,如果你的專案是一個跨平臺的產物,還有WEB以及APP產品,CloudBase-FrameWork也可以一次性完整的為你部署。 在專案開發協作中,除了業務程式碼之外,只需要在配置檔案中進行相應配置,CloudBase-FrameWork就可以自動完成相應部署工作。 ![](https://main.qcloudimg.com/raw/0377322dba4744a0c55d7d9288f3144d.png) 所以,使用雲開發作為後端服務的微信小程式開發團隊,可以完全不用自己建設,直接使用即可。以下是小編在Coding中使用CloudBase-FrameWork的持續整合流程配置 ![](https://main.qcloudimg.com/raw/ec08e0f5579ffadf5c176d4de0a0d38e.png) 配合企業微信的群機器人,在開發成員push程式碼後,自動構建並提醒開發者進行預覽。 ![](https://main.qcloudimg.com/raw/6243dfa5f6e583cf6ff86d7675883a2e.png) ## 如何使用CloudBase FrameWork部署微信小程式 接下來小編就帶大家簡單實踐一下,如何使用CloudBase-FrameWork部署微信小程式 步驟一:獲取程式碼 點選進入[專案地址](https://github.com/TCloudBase/WXAPP-SecCheck),獲取實踐的原始碼。這是一個比較簡單的小程式,通過雲開發·雲呼叫提供的安全檢測能力進行文字和圖片的安全檢測。 步驟二:配置cloudbaserc檔案 專案的根目錄中,有cloudbaserc.json檔案,這是CloudBase-FrameWork工作的保障和依據。 ![](https://main.qcloudimg.com/raw/0e9b0b26d0bc2d70f00f092748333fed.png) 其中,envId是雲開發環境id,示例是通過環境變數引入形式給定的值,在實際部署時會被變數的值所替換。 外掛是cloudbase-framework執行部署時發揮作用的模組,在示例專案中,只有部署雲函式和部署小程式兩件事情。 function外掛主要用於部署雲函式,示例專案中有兩個雲函式,根據業務要求進行相應配置,framework就會按照配置進行部署工作。 ![](https://main.qcloudimg.com/raw/b0500a7c8c776f9494a890b0a24e6be4.png) 詳細的部署文件可以參考[官方文件](https://github.com/TencentCloudBase/cloudbase-framework/tree/master/packages/framework-plugin-function) mp外掛用於部署微信小程式,其將小程式有關程式碼打包上傳,並返回相應的預覽二維碼。除了上傳小程式所必要的配置資訊,返回的二維碼儲存的地址也可配置。 ![](https://main.qcloudimg.com/raw/a741360b984113b86c901996fd8fdfa4.png) 詳細的部署文件可以參考[官方文件](https://github.com/TencentCloudBase/cloudbase-framework/tree/master/packages/framework-plugin-mp) 以上所有配置檔案如果無特殊想法無需修改。 步驟三:建立env檔案 在示例專案的根目錄建立.env檔案,設定自己的環境變數引數,包括雲開發的環境ID,小程式appid,以及小程式程式碼上傳私鑰。具體效果如下: ENV_ID=替換你的雲開發環境ID WX_APPID=替換你的微信小程式appid WX_CI_KEY_PATH=小程式上傳金鑰檔案路徑 小程式appid是一個微信小程式的關鍵標識資訊,可以在開發者後臺的開發欄目裡看到,如下圖所示: ![](https://main.qcloudimg.com/raw/61b1b135b6bc09b82b23d9bfae38d391.png) 而小程式程式碼上傳金鑰,在appid的資訊下方,點選生成按鈕,經過微信驗證下載金鑰檔案,將檔案重新命名為private.key,放置在示例專案根目錄下。另外,程式碼上傳的IP白名單需要關閉。 ![](https://main.qcloudimg.com/raw/88dc82230f9b69e27f1d0579a3530b26.png) 如果你想保持開啟,可以在第一次framework部署時出現拒絕錯誤,將返回的ip地址(也就是你自己的本機ip地址)放置到白名單中。 雲開發需要使用微信開發者工具提前開通,注意儲存雲開發環境ID資訊。最終,配置的資訊如下所示: ![](https://main.qcloudimg.com/raw/933897be18f227e98b897b533e749cd1.png) 步驟四:安裝依賴 framework是整合在CLI工具中的,所以需要npm全域性安裝CLI工具,執行如下命令: npm install -g @cloudbase/cli@latest 之後,直接執行tcb即可自動檢測並部署,選擇Y,繼續部署 ![](https://main.qcloudimg.com/raw/60795fb11c9e21991227c7a511d0abe4.png) 之後,cloudbase-framework就根據配置檔案的要求進行部署,並將小程式的預覽二維碼儲存到規定的地方。 ![](https://main.qcloudimg.com/raw/a1fa1b0835986869041990b7caa4e4c3.png) 不止簡單的CI工具 如此,你便從本地完成framework自動化部署的過程。當然除了示例專案簡單的雲函式、微信小程式部署,cloudbase-framework還可以同時完成更多的事情。比如部署資料庫、雲託管、Nuxt SSR應用、Deno應用、Node應用等等,具體可以直接到[官網](https://github.com/TencentCloudBase/cloudbase-framework)獲得 不僅如此,CloudBase-FrameWork還推出了一鍵部署功能,特別適合開源專案使用。體驗者只需要點選部署按鈕,CloudBase-FrameWork會直接跳轉騰訊雲控制檯,引導體驗者一步步的填寫部署所需資訊(包括選擇環境,填寫小程式appid等),直接拉取開原始碼進行安裝部署,徹底解決了因為體驗者經驗不同導致開源專案千人千面的窘迫境地。 如果你所在的開發團隊還沒有get這個最強利器,還等什麼呢? 點選下面地址,嘗試示例專案部署安全檢查小程式 [https://github.com/TCloudBase/WXAPP-SecCheck](https://github.com/TCloudBase/WXAPP-SecCheck) ## CloudBase Framework 開源專案介紹