搜尋
首頁微信小程式小程式開發微信小程式自動化部署

本篇文章為大家帶來了關於微信小程式的相關內容,其中主要介紹了微信小程式自動化部署的相關問題,日常開發微信小程式的流程是比較繁瑣的,自動化部署流程可以縮減這個流程,下面一起來看看,希望對大家有幫助。

微信小程式自動化部署

【相關學習推薦:小程式學習教學

我們先來整理日常開發微信小程式的流程:程式碼開發完之後我們首先要提交到程式碼倉庫,然後使用微信開發者工具執行程式碼,接著透過開發者工具上傳程式碼到微信小程式後台,最後在後台提交審核。

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

miniprogram-ci

微信小程式的自動化部署流程必須依賴 miniprogram-ci,這個外掛程式。

miniprogram-ci 是從微信開發者工具中抽離的關於小程式/小遊戲專案程式碼的編譯模組。

開發者可不開啟小程式開發者工具,獨立使用 miniprogram-ci 進行小程式碼的上傳、預覽等操作。

因為腳本的執行很依賴這個插件,所以我們可以將這個插件安裝在要執行腳本的伺服器上,或安裝在本地專案中。

npm install miniprogram-ci --save

微信公眾平台配置

登入公眾平台,開啟開發-開發管理-開發設置,找到小程式碼上傳設定項,產生小程式碼上傳金鑰,並新增ip 白名單,密鑰檔案可以存放在要執行腳本的伺服器上,或保存在專案中,只要能讓腳本存取即可。

微信小程式自動化部署

金鑰檔案

微信公眾平台產生的金鑰檔案具體內容如下:

微信小程式自動化部署

# #腳本

編寫xxx.sh 的執行腳本,命名隨意。

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

表示後續所有的 bash 命令的返回 code 如果不是 0,那麼腳本立即退出,後續的腳本將不會得到執行的機會。說人話就是腳本執行過程中,有報錯立即退出停止執行。

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 檔案內容,找到 version 字段,並取得其對應的值定義一個 $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, 大家應該都知道這段腳本就是安裝項目依賴,並且打包編譯小程式項目,其中的 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 進行程式碼上傳的。
  • 具體參數意義:

  • --pp:編譯打包產物檔案路徑

  • --pkp:微信公眾平台生產的那個私鑰檔案路徑

  • --appid:小程式的appid

  • --uv:專案的版本號碼

--threads:開啟執行緒數

-r:機器人編號(這個參數無所謂)

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

  • 自動化部署實作
  • 主要三個核心部分:

  • #上傳腳本

miniprogram-ci外掛程式

金鑰檔案

自動化部署實作方式有很多種,本文主要講解兩種。

第一種方式(推薦)

jenkins gitlab webhook

將腳本、金鑰檔案直接放在項目根目錄,jenkins 安裝webhook 相關插件,gitlab 配置webhook,這樣就可以做到master 分支代碼變動就可以觸發webhook,進而觸發jenkins 執行,別忘了在jenkins 伺服器全域安裝miniprogram-ci 插件。 這樣我們就實現了,當業務需求開發完,程式碼合併到 master 分支之後,自動觸發 webhook,進而觸發 jenkins 執行上傳腳本。 我們開發人員需要做的就只是合併程式碼到 master 分支,然後到小程式後台選擇上傳的版本提交審核即可。

nice~

###第二種方式#############基於本機終端執行,將腳本、金鑰檔案直接放在專案根目錄,本地安裝miniprogram-ci 插件,直接在終端機中執行腳本即可。 ###
./ci-xxx.sh
###下圖就是自動化部署上傳的版本:###

微信小程式自動化部署

【相關學習推薦:小程式學習教學

以上是微信小程式自動化部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:掘金。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境