寫了一個輕量級的自動構建部署vscode插件

目前已經發布在vscode的插件庫中,搜索light-deploy便可前端

插件支持的vscode版本目前是1.44.0+,由於是基於微軟最新的腳手架工具打的node

效果圖

目前支持的功能

  • 自動構建
  • 自動壓縮(壓縮方式tar.gz)
  • 自動上傳服務器備份
  • 自動發佈

操做步驟

  1. 配置setting.json
  2. 在左側資源管理器選擇開始的路徑,右鍵選擇執行發佈(light-deploy)

配置說明

安裝以後須要在setting.json裏配置,也能夠點擊文件->首選項->設置->擴展->Light-deploy進行配置 目前支持的配置以下linux

"light-deploy.config": {
      //開啓的配置(和name對應)
      "active": "dev",
      "configuration": [
         {
             //配置名稱
            "name": "dev",
            //服務器鏈接配置(使用node-ssh)可使用公私鑰,詳細配置能夠參看node-ssh的配置
            "ssh": {
               "host": "172.16.5.33",
               "port": 22,
               "username": "root",
               "password": "root",
            },
            //是否自動構建
            "autoBuild": true,
            //構建配置
            "build":{
                //執行的命令,默認是npm run build
                "cmd":"npm run build",
                //默認是構建路徑,如配置,優於構建路徑
                "path":""
            },
            //是否自動壓縮
            "autoCompress": true,
            //是否自動備份
            "autoBak": true,
            //本地配置
            "local": {
                //構建輸出的文件夾,相對於構建路徑
               "buildOutDir": "dist",
               //構建路徑,可不填,默認是右鍵選擇的地址,若是填了,優於右鍵選擇地址
               "projectRootPath":"",
            },
            //遠程配置
            "remote": {
                //備份路徑
               "bakPath": "~/bak",
               //發佈路徑
               "releasePath": "/netty-socket/web",
            }
         }
      ]
   }
複製代碼

關於配置的幾項說明git

  • 構建路徑:構建開始的路徑,右鍵點擊執行發佈(light-deploy)時的路徑,也能夠在build選項中加入配置projectRootPath,此配置優於右鍵選擇配置
  • 文件上傳位置:目前默認是linux登陸用戶的我的文件夾,即~

即將實現

  • 支持配置日期格式化
  • 支持配置自動刪除本地/遠程構建文件
  • 支持全局配置
  • 支持配置壓縮方式

寫在最後

最近寫了一個前端項目,苦於每次都要進行手動發佈,苦其久矣,網上找了一些插件也不能知足本身的須要,前段時間看了一篇基於node的打包文章(打醬油12138),可是以爲還不夠方便,便想能不能寫vscode的插件來實現,遂去查了一下vscode插件的實現方式,發現vscode能夠基於node經過js或者ts的方式來寫插件,這不是就是讓我操做的嘛,看了文檔,寫了一個比較簡單的插件出來github

第一次寫vscode插件,也是第一次寫基於node的項目,期間查了各類各樣的文檔,加上一我的開發,本身也是簡單的測試了一下,可能會有些bug,不過提高工做效率仍是能夠的。web

代碼

能夠配合sync setting等vscode配置同步插件來同步配置npm

核心代碼json

插件服務器

相關文章
相關標籤/搜索