本篇文章給大家?guī)?lái)了關(guān)于微信小程序的相關(guān)內(nèi)容,其中主要介紹了微信小程序自動(dòng)化部署的相關(guān)問(wèn)題,日常開發(fā)微信小程序的流程是比較繁瑣的,自動(dòng)化部署流程可以縮減這個(gè)流程,下面一起來(lái)看一下,希望對(duì)大家有幫助。
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
我們先來(lái)梳理一下日常開發(fā)微信小程序的流程:代碼開發(fā)完之后我們首先要提交到代碼倉(cāng)庫(kù),然后使用微信開發(fā)者工具運(yùn)行代碼,接著通過(guò)開發(fā)者工具上傳代碼到微信小程序后臺(tái),最后在后臺(tái)提交審核。
不難看出流程還是比較繁瑣的,自動(dòng)化部署流程可以幫助我們縮減這個(gè)流程,做到解放解放碼農(nóng)的雙手,具體如何實(shí)現(xiàn),我們往下看。
miniprogram-ci
微信小程序的自動(dòng)化部署流程必須依賴 miniprogram-ci,這個(gè)插件。
miniprogram-ci 是從微信開發(fā)者工具中抽離的關(guān)于小程序/小游戲項(xiàng)目代碼的編譯模塊。
開發(fā)者可不打開小程序開發(fā)者工具,獨(dú)立使用 miniprogram-ci 進(jìn)行小程序代碼的上傳、預(yù)覽等操作。
因?yàn)槟_本的執(zhí)行依賴這個(gè)插件,所以我們可以將這個(gè)插件安裝在要執(zhí)行腳本的服務(wù)器上,或者安裝在本地項(xiàng)目中。
npm install miniprogram-ci --save
微信公眾平臺(tái)配置
登錄公眾平臺(tái),打開 開發(fā)-開發(fā)管理-開發(fā)設(shè)置,找到 小程序代碼上傳 配置項(xiàng),生成小程序代碼上傳密鑰,并添加 ip 白名單,密鑰文件可以存放在要執(zhí)行腳本的服務(wù)器上,或者保存在項(xiàng)目中,只要能讓腳本訪問(wèn)到即可。
密鑰文件
微信公眾平臺(tái)生成的密鑰文件具體內(nèi)容如下:
腳本
編寫 xxx.sh 的執(zhí)行腳本,命名隨意。
set -e while read -r line do if [[ $line =~ "version" ]] then declare a=${line##*:} declare b=${a#*\"} declare version=${b%\"*} break fi done < package.json echo $version yarn echo "開始編譯..." start1=$(date +%s) yarn build:mp-weixin end1=$(date +%s) take1=$(( end1 - start1 )) echo "Compile Success:${take1}s" echo "微信小程序上傳..." start2=$(date +%s) # upload miniprogram-ci \ upload \ --pp ./dist/build/mp-weixin \ --pkp ./private.wx3fxxxxxxxx3.key \ --appid wx3fxxxxxxxx3 \ --uv $version \ --threads 1 \ -r 1 \ --enable-es6 true \ --enable-es7 true \ --enable-autoprefixwxss true \ --enable-minify true \ end2=$(date +%s) take2=$(( end2 - start2 )) echo "Upload Success: ${take2}s" take3=$(( end2 - start1 )) echo "Total Time: ${take3}s"
腳本具體模塊講解
set -e
表示后續(xù)所有的 bash 命令的返回 code 如果不是 0,那么腳本立即退出,后續(xù)的腳本將不會(huì)得到執(zhí)行的機(jī)會(huì)。說(shuō)人話就是腳本執(zhí)行過(guò)程中,有報(bào)錯(cuò)立即退出停止執(zhí)行。
while read -r line do if [[ $line =~ "version" ]] then declare a=${line##*:} declare b=${a#*\"} declare version=${b%\"*} break fi done < package.json echo $version
以上腳本是逐行讀取 package.json 文件內(nèi)容,找到 version 字段,并獲取其對(duì)應(yīng)的值定義一個(gè) $version 變量。直白點(diǎn)講就是獲取項(xiàng)目的版本號(hào),因?yàn)橄旅嬉谩?/p>
yarn echo "開始編譯..." start1=$(date +%s) yarn build:mp-weixin end1=$(date +%s) take1=$(( end1 - start1 )) echo "Compile Success:${take1}s" echo "微信小程序上傳..." start2=$(date +%s)
看到 yarn, 大家應(yīng)該都知道這段腳本就是安裝項(xiàng)目依賴,并且打包編譯小程序項(xiàng)目,其中的 start1、end1、take1 這些是記錄時(shí)間的,可忽略。
# upload miniprogram-ci \ upload \ --pp ./dist/build/mp-weixin \ --pkp ./private.wx3fxxxxxxxx3.key \ --appid wx3fxxxxxxxx3 \ --uv $version \ --threads 1 \ -r 1 \ --enable-es6 true \ --enable-es7 true \ --enable-autoprefixwxss true \ --enable-minify true \
以上這段腳本就是核心了。
通過(guò)腳本也不難看出,我們是通過(guò) miniprogram-ci 進(jìn)行代碼上傳的。
具體參數(shù)含義:
--pp:編譯打包產(chǎn)物文件路徑
--pkp:微信公眾平臺(tái)生產(chǎn)的那個(gè)私鑰文件路徑
--appid:小程序的 appid
--uv:項(xiàng)目的版本號(hào)
--threads:開啟線程數(shù)
-r:機(jī)器人編號(hào)(這個(gè)參數(shù)無(wú)所謂)
至此,整個(gè)腳本就基本完成了。
自動(dòng)化部署實(shí)現(xiàn)
主要三個(gè)核心部分:
上傳腳本
miniprogram-ci 插件
密鑰文件
自動(dòng)化部署實(shí)現(xiàn)方式有很多種,本文主要講解兩種。
第一種方式(推薦)
jenkins + gitlab + webhook
將腳本、密鑰文件直接放在項(xiàng)目根目錄,jenkins 安裝 webhook 相關(guān)插件,gitlab 配置 webhook,這樣就可以做到 master 分支代碼變動(dòng)就可以觸發(fā) webhook,進(jìn)而觸發(fā) jenkins 執(zhí)行,別忘了在 jenkins 服務(wù)器全局安裝 miniprogram-ci 插件。
這樣我們就實(shí)現(xiàn)了,當(dāng)業(yè)務(wù)需求開發(fā)完,代碼合并到 master 分支之后,自動(dòng)觸發(fā) webhook,進(jìn)而觸發(fā) jenkins 執(zhí)行上傳腳本。
我們開發(fā)人員需要做的就只是合并代碼到 master 分支,然后到小程序后臺(tái)選擇上傳的版本提交審核即可。
nice~
第二種方式
基于本地終端執(zhí)行,將腳本、密鑰文件直接放在項(xiàng)目根目錄,本地安裝 miniprogram-ci 插件,直接在終端中執(zhí)行腳本即可。
./ci-xxx.sh
下圖就是自動(dòng)化部署上傳的版本:
【相關(guān)學(xué)習(xí)推薦:小程序?qū)W習(xí)教程】
以上是微信小程序自動(dòng)化部署的詳細(xì)內(nèi)容。更多信息請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣服圖片

Undresser.AI Undress
人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover
用于從照片中去除衣服的在線人工智能工具。

Clothoff.io
AI脫衣機(jī)

Video Face Swap
使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的代碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)代碼編輯軟件(SublimeText3)

閑魚官方微信小程序悄然上線,在小程序中可以發(fā)布閑置與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索物品等,有用好奇閑魚微信小程序叫什么,現(xiàn)在快來(lái)看一下。閑魚微信小程序叫什么答案:閑魚,閑置交易二手買賣估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、想要使用的話必要要開通微信支付才可以購(gòu)買;

實(shí)現(xiàn)微信小程序中的圖片濾鏡效果隨著社交媒體應(yīng)用的流行,人們?cè)絹?lái)越喜歡在照片中應(yīng)用濾鏡效果,以增強(qiáng)照片的藝術(shù)效果和吸引力。在微信小程序中也可以實(shí)現(xiàn)圖片濾鏡效果,為用戶提供更多有趣和創(chuàng)造性的照片編輯功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片濾鏡效果,并提供具體的代碼示例。首先,我們需要在微信小程序中使用canvas組件來(lái)加載和編輯圖片。canvas組件可以在頁(yè)面

實(shí)現(xiàn)微信小程序中的下拉菜單效果,需要具體代碼示例隨著移動(dòng)互聯(lián)網(wǎng)的普及,微信小程序成為了互聯(lián)網(wǎng)開發(fā)的重要一環(huán),越來(lái)越多的人開始關(guān)注和使用微信小程序。微信小程序的開發(fā)相比傳統(tǒng)的APP開發(fā)更加簡(jiǎn)便快捷,但也需要掌握一定的開發(fā)技巧。在微信小程序的開發(fā)中,下拉菜單是一個(gè)常見的UI組件,實(shí)現(xiàn)了更好的用戶操作體驗(yàn)。本文將詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)下拉菜單效果,并提供具

閑魚官方微信小程序已經(jīng)悄然上線,它為用戶提供了一個(gè)便捷的平臺(tái),讓你可以輕松地發(fā)布和交易閑置物品。在小程序中,你可以與買家或賣家進(jìn)行私信交流,查看個(gè)人資料和訂單,以及搜索你想要的物品。那么閑魚在微信小程序中究竟叫什么呢,這篇教程攻略將為您詳細(xì)介紹,想要了解的用戶們快來(lái)跟著本文繼續(xù)閱讀吧!閑魚微信小程序叫什么答案:閑魚,閑置交易二手買賣估價(jià)回收。1、在小程序中可以發(fā)布閑置、與買家/賣家私信交流、查看個(gè)人資料及訂單、搜索指定物品等功能;2、在小程序的頁(yè)面中有首頁(yè)、附近、發(fā)閑置、消息、我的5項(xiàng)功能;3、

微信小程序?qū)崿F(xiàn)圖片上傳功能隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,微信小程序已經(jīng)成為了人們生活中不可或缺的一部分。微信小程序不僅提供了豐富的應(yīng)用場(chǎng)景,還支持開發(fā)者自定義功能,其中包括圖片上傳功能。本文將介紹如何在微信小程序中實(shí)現(xiàn)圖片上傳功能,并提供具體的代碼示例。一、前期準(zhǔn)備工作在開始編寫代碼之前,我們需要先下載并安裝微信開發(fā)者工具,并注冊(cè)成為微信開發(fā)者。同時(shí),還需要了解微信

使用微信小程序?qū)崿F(xiàn)輪播圖切換效果微信小程序是一種輕量級(jí)的應(yīng)用程序,具有簡(jiǎn)單、高效的開發(fā)和使用特點(diǎn)。在微信小程序中,實(shí)現(xiàn)輪播圖切換效果是常見的需求。本文將介紹如何使用微信小程序?qū)崿F(xiàn)輪播圖切換效果,并給出具體的代碼示例。首先,在微信小程序的頁(yè)面文件中,添加一個(gè)輪播圖組件。例如,可以使用<swiper>標(biāo)簽來(lái)實(shí)現(xiàn)輪播圖的切換效果。在該組件中,可以通過(guò)b

實(shí)現(xiàn)微信小程序中的圖片旋轉(zhuǎn)效果,需要具體代碼示例微信小程序是一種輕量級(jí)的應(yīng)用程序,為用戶提供了豐富的功能和良好的用戶體驗(yàn)。在小程序中,開發(fā)者可以利用各種組件和API來(lái)實(shí)現(xiàn)各種效果。其中,圖片旋轉(zhuǎn)效果是一種常見的動(dòng)畫效果,可以為小程序增添趣味性和視覺(jué)效果。在微信小程序中實(shí)現(xiàn)圖片旋轉(zhuǎn)效果,需要使用小程序提供的動(dòng)畫API。下面是一個(gè)具體的代碼示例,展示了如何在小程

實(shí)現(xiàn)微信小程序中的滑動(dòng)刪除功能,需要具體代碼示例隨著微信小程序的流行,開發(fā)者們?cè)陂_發(fā)過(guò)程中經(jīng)常會(huì)遇到一些常見功能的實(shí)現(xiàn)問(wèn)題。其中,滑動(dòng)刪除功能是一個(gè)常見、常用的功能需求。本文將為大家詳細(xì)介紹如何在微信小程序中實(shí)現(xiàn)滑動(dòng)刪除功能,并給出具體的代碼示例。一、需求分析在微信小程序中,滑動(dòng)刪除功能的實(shí)現(xiàn)涉及到以下要點(diǎn):列表展示:要顯示可滑動(dòng)刪除的列表,每個(gè)列表項(xiàng)需要包
