站長資訊網
        最全最豐富的資訊網站

        詳解使用 taro-deploy 自動化構建發布 taro 小程序

        詳解使用 taro-deploy 自動化構建發布 taro 小程序

        相關學習推薦:微信小程序教程

        如果你使用 taro 開發小程序項目,推薦你使用 taro-deploy 高效地進行一鍵自動化構建發布。

        為什么要用 taro-deploy?

        Taro 小程序開發者常有這種痛點:開發好代碼想要發布提測,需要進行以下一系列步驟(以支付寶、微信小程序平臺為例):

        詳解使用 taro-deploy 自動化構建發布 taro 小程序

        整個流程將近十分鐘,其中還有不少需要手動操作的環節,可以說這種原始的發布方式效率非常低。

        taro-deploy 就是為了解決這個痛點出現的,它集成了支付寶和微信提供的命令行工具,自動化地完成上述流程。

        用了 taro-deploy,開發者在發布提測時只需兩步:

        1. 運行一次命令 taro-deploy
        2. 去喝杯茶歇一下

        構建發布完了,釘釘上就會收到構建結果的推送了,全程無需人工干預。

        以下為釘釘推送消息的截圖。

        詳解使用 taro-deploy 自動化構建發布 taro 小程序

        可以看到除了發布生成的小程序二維碼,推送消息里還附帶了構建機器、構建分支、項目最近的 git commit 日志等,打包信息更清楚。

        NOTE: git commit 日志目前只會展示 featfix 關鍵詞開頭的 commit

        適合我用嗎?

        如果你

        1. 使用 Taro 框架開發小程序
        2. 需要支持微信和支付寶平臺
        3. 想要自動化構建發布,不想手動操作
        4. 使用釘釘辦公,開發和測試都在一個釘釘群里(這點不是必需的,沒有釘釘也可以使用 taro-deploy,只是會多了一些手動操作)

        那你就非常適合使用 taro-deploy 了。

        怎么用?

        Step 1 – 安裝

        npm i -g taro-deploy復制代碼

        Step 2 – 平臺相關的準備步驟

        1. 支付寶:參考官方文檔,準備好私鑰和 toolId。
        2. 微信:參考官方文檔,準備好私鑰

        Step 3 – 創建釘釘機器人

        參考官方文檔創建釘釘機器人,安全設置記得選擇“自定義關鍵詞”并填上“小程序構建”即可。

        創建完成后,會得到一個形如 https://oapi.dingtalk.com/robot/send?access_token=XXXXXX 的 webhook url,后續會用到。

        Step 4 – 準備配置文件

        在你的 Taro 項目根目錄新建一個 deploy-config.js 文件,按下述模版填入內容。

        這里需要配置的內容比較關鍵也比較多,成敗在此一舉了

        // deploy-config.js// 該文件應放在 Taro 項目的根目錄下module.exports = {  // 構建結果的輸出目錄,該腳本產生的日志也會輸出到這里   outDir: './deploy-out',  // 微信相關配置   weapp: {    // 如果為 false,則不會運行微信的構建流程     enable: true,    // 這里填你們配置的 Taro 編譯后微信程序包的輸出路徑     projectPath: './dist/weapp',    // Step 2 里獲得的私鑰文件的存放路徑     keyPath: './weapp.key',    // 微信小程序 appId     appId: 'wx82xxxxxx',    // 微信體驗版圖片地址     // 與支付寶不同,不管上傳多少個新版本,微信的體驗版地址是一直不變的     // 因此需要在這里配置該二維碼圖片的鏈接     // 直接從微信公眾平臺上復制的體驗版圖片地址貌似無法在釘釘里正常展示     // 建議轉存到自己的 CDN 上,再將 cdn url 填到下面這里來     qrcodeImageUrl: 'https://xxxcdn.con/image/weapp-exp-qrcode.jpg',    // 小程序版本號     // 由于微信的命令行 sdk 不支持設置某個版本為體驗版,要改設體驗版需要在網頁上手動操作     // 所以只能曲線救國,先在網頁上將本工具上傳的版本設為體驗版(找到 ci機器人1 上傳的那個版本)     // 然后每次上傳都指定同一個版本號,以覆蓋舊的版本,最終實現發布新體驗版的效果     version: '1.1.0',    // true 則將跳過編譯階段,即 taro build 命令,     skipBuild: false,   },  // 支付寶相關配置   alipay: {    // 如果為 false,則不會運行支付寶的構建流程     enable: true,    // 這里填你們配置的 Taro 編譯后支付寶程序包的輸出路徑     projectPath: './dist/alipay',    // Step 2 里獲得的私鑰文件的存放路徑     keyPath: './alipay.key',    // Step 2 里獲得的 toolId     toolId: 'f48xxx',    // 支付寶小程序 appId     appId: '202xxx',    // true 則將跳過 taro build 命令,即編譯階段     skipBuild: false,   },  // 默認發體驗版,填 false 則發布為預覽版   // 注意如果發布為預覽版,需要實現 uploadImage 的函數,否則釘釘無法展示預覽版的二維碼   isExperience: true,  // 是否在構建前運行 npm install   npmInstall: false,  // 指定環境變量,會在編譯階段,即 taro build 的指令中注入指定的環境變量   env: {    BUILD_ENV: 'test' // 僅作 demo,實際應填入你項目編譯需要用的環境變量   },  // Step 3 中獲取的釘釘機器人 webhook url   dingTalkUrl: 'https://oapi.dingtalk.com/robot/send?access_token=xxx',  // 如果你只需要構建發布體驗版小程序,則可忽略以下函數   // 如果你需要構建發布預覽版小程序,則需要實現該函數,將本地二維碼圖片文件轉換為圖片鏈接,否則無法將預覽版二維碼推送到釘釘群里   // 其中 objectName 形如 {platform}-{timestamp}.jpg,作為建議保存的文件名   // filePath 為本地預覽版二維碼圖片的路徑   uploadImage: async function(objectName, filePath) {    return ''     // 如果你使用阿里云 oss 作 cdn,可以參考以下代碼進行上傳     // const OSS = require('ali-oss')     // const client = new OSS({     //   region: 'oss-cn-xxx',     //   accessKeyId: 'xxx',     //   accessKeySecret: 'xxx',     //   bucket: 'xxx',     // })     // await client.put(`preview/${objectName}`, filePath, {     //   'Cache-Control': 'max-age=31536000'     // })     // return `https://xxx-oss-cdn.com/preview/${objectName}`   } }復制代碼

        Step 5 – 運行 taro-deploy

        # cd 到你們的項目并運行taro-deploy復制代碼

        然后就可以靜候釘釘機器人推送構建結果了

        FAQ

        Q: 我們沒有用釘釘辦公,怎么用 taro-deploy?

        A: taro-deploy 目前只支持推送釘釘消息,否則只能完成自動化構建、上傳、設置體驗版,沒法完成最后的推送步驟。如果有推送其它IM工具的需求,可以嘗試自行實現,也歡迎提交 PR。

        Q: 為什么發布預覽版要實現 uploadImage 函數這么麻煩?

        A: 因為支付寶和微信的預覽版只會生成本地的二維碼圖片,要想在釘釘消息里展示本地的二維碼圖片,只能先將圖片上傳到 cdn,再將 cdn 鏈接填進釘釘消息模版里。

        Q: 為什么發布以后,微信體驗版還是舊的?

        A: 請到微信的網頁控制臺上檢查確保已將「ci機器人1」上傳的版本設置為體驗版。

        Q: 只支持微信和支付寶嗎?

        A: Taro 支持很多平臺,但是 taro-deploy 目前只支持了微信和支付寶兩個平臺的自動構建和發布。

        Q: 沒有找到 ci機器人1 上傳的版本?

        A: 先跑一遍 taro-deploy,等上傳完成以后,就可以在微信小程序控制臺網頁的「版本控制」菜單里找到。

        Q: 這個工具如果出 bug 了,會造成小程序的線上故障嗎?

        A: taro-deploy 目前只支持發布預覽版和體驗版,不支持發布生產版,不會影響到生產環境。

        Q: 我想定制釘釘推送消息的內容

        A: 目前沒有開放很靈活的釘釘消息模版配置,如有需要可以 fork 本項目并定制修改 send-ding.js 文件,也歡迎提交 PR。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品国产福利尤物免费| 久久久久九国产精品| 精品无码一级毛片免费视频观看| 无码国内精品久久人妻蜜桃| 精品无码久久久久久久动漫| 国产精品久久免费| 久久精品aⅴ无码中文字字幕不卡 久久精品aⅴ无码中文字字幕重口 | 欧美性videofree精品| 精品无码人妻一区二区三区品 | 久久成人精品| 欧美精品天天操| 国产精品无码午夜福利| 亚洲一区二区三区在线观看精品中文| 久久青青草原精品国产软件| 国产女人18毛片水真多18精品| 欧美精品华人在线| 久久亚洲欧美日本精品| 国产成人精品精品欧美| 国产精品亚洲一区二区三区在线| 亚洲国产精品SSS在线观看AV| 午夜福利麻豆国产精品| 久久亚洲精品无码播放| 国产亚洲精品资在线| 国产欧美日本亚洲精品一5| 国产精品爽爽ⅴa在线观看| 大胸国产精品视频| 99精品在线免费| 国产91精品一区二区麻豆亚洲| 四虎国产精品永久一区| 最新亚洲精品国自产在线观看| 欧美成人精品一区二区三区| 日本久久久精品中文字幕| 秋霞午夜鲁丝片午夜精品久| 2021最新国产精品一区| 91精品视频在线| 国产啪亚洲国产精品无码| 国产精品熟女福利久久AV| 久久精品国产99久久丝袜| 亚洲精品国产高清嫩草影院| 无码国产精品一区二区免费模式| 无码国产精品一区二区免费模式 |