實現小程序打包自動化+飛書機器人提醒

1. 代碼邏輯

1. 入口文件:bin-->deploy-->deploy.js

引入工具庫文件:

inquirer

child_process

ora

fs

path

request

miniprogram-ci

引入配置文件

./weixin

./config.json

1. 打包執(zhí)行命令:"deploy:mp-weixin": "node ./bin/deploy/deploy mp-weixin",

2. 執(zhí)行打包命令:npm run deploy:mp-weixin

3. 代碼走到./bin/deploy/deploy目錄下,在該腳本下可以拿到命令中的參數mp-weixin

4. 執(zhí)行腳本:

? ? 1.?命令控制臺:獲取版本、環(huán)境信息等: inquirer 獲取開發(fā)者打包要求

? ? 2.?獲取最后一次更新日志:execSync('git show -s --format=%s')

? ? 3.?打包:執(zhí)行打包命令exec(npm run build-${env}:${type}, {}, (err, stdout)=>{})

? ? 4.?上傳代碼到微信服務平臺:用miniprogram-ci 中upload執(zhí)行上傳

? ? 5.?發(fā)飛書提醒:

????獲取自定義機器人 webhook 地址: https://open.feishu.cn/document/client-docs/bot-v3/add-custom-bot

附:privateKey 獲取 公眾開放平臺,開發(fā)->開發(fā)管理->開發(fā)設置【生成之后一定要保存】

2.??依賴包

1. ora:

????優(yōu)雅的終端旋轉器

????http://www.npmdoc.org/orazhongwenwendangora-jszhongwenjiaochengjiexi.html

????用法

import ora from 'ora';

const spinner = ora('Loading unicorns').start();

setTimeout(() => {

? ? spinner.color = 'blue';

? ? spinner.text = 'Loading unicorns';

}, 1000);

2.? fs:

????讀取文件、寫入文件、復制文件、刪除文件等。通過npm安裝Node.js后,可以直接在代碼中使用fs模塊來進行文件系統(tǒng)的操作。

3.? Path:

??文件路徑模塊: https://blog.csdn.net/COCOLI_BK/article/details/109182793

?4.? request:

????npm request 是一個流行的 Node.js 模塊,用于發(fā)起 HTTP 請求。它提供了簡潔的 API,使得在 Node.js 中發(fā)送 HTTP 請求變得非常方便。

????使用 npm 安裝 request 模塊后,我們可以在代碼中引入它,并使用它提供的方法來發(fā)送 GET、POST、PUT、DELETE 等類型的請求。例如,我們可以使用 request.get() 方法發(fā)送 GET 請求,使用 request.post() 方法發(fā)送 POST 請求。

????request 模塊還提供了許多可選的參數和回調函數,以便我們可以自定義請求的各個方面,例如設置請求頭、發(fā)送請求體、處理響應等。

????總之,npm request 是一個非常實用的模塊,可以幫助我們在 Node.js 中輕松地發(fā)送 HTTP 請求,并處理響應數據。

?5. child_process

????child_process模塊是nodejs的一個子進程模塊,可以用來創(chuàng)建一個子進程,并執(zhí)行一些任務。執(zhí)行一些什么任務呢?shell命令知道吧,有了child_process模塊,就可以直接在js里面調用shell命令去完成一些非??犰诺牟僮髁耍?!

舉個栗子,GitHub、碼云等git代碼托管網站,都會有個webHook功能,當push了新的代碼后,服務器可以開辟一個接口去接受這個webHook的請求,并進行git pull、npm run build等命令,從而達到自動化部署的目的!

????https://blog.csdn.net/qq1195566313/article/details/132797154

創(chuàng)建子進程:Nodejs創(chuàng)建子進程共有7個API Sync同步API 不加是異步API

spawn 執(zhí)行命令

exec執(zhí)行命令

execFile 執(zhí)行可執(zhí)行文件

fork 創(chuàng)建node子進程

execSync執(zhí)行命令 同步執(zhí)行

execFileSync 執(zhí)行可執(zhí)行文件 同步執(zhí)行

spawnSync 執(zhí)行命令 同步執(zhí)行

6.? miniprogram-ci

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

使用前需要使用小程序管理員身份訪問"微信公眾平臺-開發(fā)-開發(fā)設置"后下載代碼上傳密鑰,并配置 IP 白名單,才能進行上傳、預覽操作。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容