最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序自動化部署的全過程

 更新時間:2022年07月29日 09:51:26   作者:大熊Sir  
由于微信小程序需要在微信小程序助手上發(fā)布,比較麻煩,可以配置CI 自動化的發(fā)布,下面這篇文章主要給大家介紹了關(guān)于微信小程序自動化部署的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

我們先來梳理一下日常開發(fā)微信小程序的流程:代碼開發(fā)完之后我們首先要提交到代碼倉庫,然后使用微信開發(fā)者工具運行代碼,接著通過開發(fā)者工具上傳代碼到微信小程序后臺,最后在后臺提交審核。

不難看出流程還是比較繁瑣的,自動化部署流程可以幫助我們縮減這個流程,做到解放解放碼農(nóng)的雙手,具體如何實現(xiàn),我們往下看。

miniprogram-ci

微信小程序的自動化部署流程必須依賴 miniprogram-ci,這個插件。

miniprogram-ci 是從微信開發(fā)者工具中抽離的關(guān)于小程序/小游戲項目代碼的編譯模塊。

開發(fā)者可不打開小程序開發(fā)者工具,獨立使用 miniprogram-ci 進(jìn)行小程序代碼的上傳、預(yù)覽等操作。

因為腳本的執(zhí)行依賴這個插件,所以我們可以將這個插件安裝在要執(zhí)行腳本的服務(wù)器上,或者安裝在本地項目中。

npm install miniprogram-ci --save

微信公眾平臺配置

登錄公眾平臺,打開 開發(fā)-開發(fā)管理-開發(fā)設(shè)置,找到 小程序代碼上傳 配置項,生成小程序代碼上傳密鑰,并添加 ip 白名單,密鑰文件可以存放在要執(zhí)行腳本的服務(wù)器上,或者保存在項目中,只要能讓腳本訪問到即可。

密鑰文件

微信公眾平臺生成的密鑰文件具體內(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ù)的腳本將不會得到執(zhí)行的機會。說人話就是腳本執(zhí)行過程中,有報錯立即退出停止執(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 字段,并獲取其對應(yīng)的值定義一個 $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)

看到 yarn, 大家應(yīng)該都知道這段腳本就是安裝項目依賴,并且打包編譯小程序項目,其中的 start1、end1、take1 這些是記錄時間的,可忽略。

# 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 \

以上這段腳本就是核心了。

通過腳本也不難看出,我們是通過 miniprogram-ci 進(jìn)行代碼上傳的。

具體參數(shù)含義:

  • --pp:編譯打包產(chǎn)物文件路徑
  • --pkp:微信公眾平臺生產(chǎn)的那個私鑰文件路徑
  • --appid:小程序的 appid
  • --uv:項目的版本號
  • --threads:開啟線程數(shù)
  • -r:機器人編號(這個參數(shù)無所謂)

至此,整個腳本就基本完成了。

自動化部署實現(xiàn)

主要三個核心部分:

  • 上傳腳本
  • miniprogram-ci 插件
  • 密鑰文件

自動化部署實現(xiàn)方式有很多種,本文主要講解兩種。

第一種方式(推薦)

jenkins + gitlab + webhook

將腳本、密鑰文件直接放在項目根目錄,jenkins 安裝 webhook 相關(guān)插件,gitlab 配置 webhook,這樣就可以做到 master 分支代碼變動就可以觸發(fā) webhook,進(jìn)而觸發(fā) jenkins 執(zhí)行,別忘了在 jenkins 服務(wù)器全局安裝 miniprogram-ci 插件。

這樣我們就實現(xiàn)了,當(dāng)業(yè)務(wù)需求開發(fā)完,代碼合并到 master 分支之后,自動觸發(fā) webhook,進(jìn)而觸發(fā) jenkins 執(zhí)行上傳腳本。

我們開發(fā)人員需要做的就只是合并代碼到 master 分支,然后到小程序后臺選擇上傳的版本提交審核即可。

nice~

第二種方式

基于本地終端執(zhí)行,將腳本、密鑰文件直接放在項目根目錄,本地安裝 miniprogram-ci 插件,直接在終端中執(zhí)行腳本即可。

./ci-xxx.sh

下圖就是自動化部署上傳的版本:

總結(jié)

以上就是小程序自動化部署的具體實現(xiàn)過程,希望能為迷茫的小伙伴帶來一點幫助。自動化部署還有一些功能也可以實現(xiàn),本文篇幅有限,沒有做全部介紹,感興趣的小伙伴可以自行探索。

到此這篇關(guān)于微信小程序自動化部署的文章就介紹到這了,更多相關(guān)微信小程序自動化部署內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 微信小程序開發(fā)技巧匯總

    微信小程序開發(fā)技巧匯總

    這篇文章主要介紹了微信小程序開發(fā)技巧匯總,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • js仿淘寶評價評分功能

    js仿淘寶評價評分功能

    本文主要介紹了js仿淘寶評價評分功能——點擊心形生成得分(有半心選擇),具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • JS組件Bootstrap ContextMenu右鍵菜單使用方法

    JS組件Bootstrap ContextMenu右鍵菜單使用方法

    這篇文章主要為大家詳細(xì)介紹了JS組件Bootstrap ContextMenu右鍵菜單使用方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • JavaScript使用localStorage存儲數(shù)據(jù)

    JavaScript使用localStorage存儲數(shù)據(jù)

    這篇文章主要為大家詳細(xì)介紹了JavaScript使用localStorage存儲數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • javascript使用Dom改變超鏈接前面文本框的值

    javascript使用Dom改變超鏈接前面文本框的值

    javascript使用Dom改變超鏈接前面文本框的值...
    2007-08-08
  • 詳解javascript對數(shù)組和json數(shù)組的操作

    詳解javascript對數(shù)組和json數(shù)組的操作

    這篇文章主要介紹了javascript對數(shù)組和json數(shù)組的操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • 微信小程序?qū)崿F(xiàn)折疊展開效果

    微信小程序?qū)崿F(xiàn)折疊展開效果

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)折疊展開效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • 獲取DOM對象的幾種擴展及簡寫

    獲取DOM對象的幾種擴展及簡寫

    獲取DOM對象的幾種擴展及簡寫...
    2006-10-10
  • JavaScript實現(xiàn)留言板添加刪除留言

    JavaScript實現(xiàn)留言板添加刪除留言

    這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)留言板添加刪除留言,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • JavaScript中定時控制Throttle、Debounce和Immediate詳解

    JavaScript中定時控制Throttle、Debounce和Immediate詳解

    大家可能都知道JavaScript遵循事件驅(qū)動的編程范例,這意味著一些行為可以激活一些響應(yīng),并且這些響應(yīng)僅在發(fā)生特定的行為時才被激活。這篇文章將給大家詳細(xì)介紹JavaScript中的定時控制Throttle、Debounce和Immediate,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-11-11

最新評論

区。| 疏勒县| 河间市| 图木舒克市| 吉安市| 固原市| 克什克腾旗| 宁远县| 塔河县| 常宁市| 天水市| 浦江县| 喜德县| 闸北区| 广昌县| 远安县| 新和县| 隆尧县| 水城县| 七台河市| 新余市| 拜城县| 六安市| 延庆县| 应用必备| 民县| 惠来县| 河东区| 视频| 晋州市| 志丹县| 新乐市| 宜州市| 虹口区| 大兴区| 上栗县| 南溪县| 神农架林区| 嵊州市| 林州市| 长葛市|