V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
CononYc
V2EX  ›  分享发现

写了一个轻量级的自动构建部署 vscode 插件

  •  1
     
  •   CononYc · 2020-05-06 14:16:32 +08:00 · 1902 次点击
    这是一个创建于 1697 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前已经发布在 vscode 的插件库中,搜索 light-deploy 即可

    插件支持的 vscode 版本目前是 1.44.0+,因为是基于微软最新的脚手架工具打的

    效果图

    目前支持的功能

    • 自动构建
    • 自动压缩(压缩方式 tar.gz )
    • 自动上传服务器备份
    • 自动发布

    操作步骤

    1. 配置 setting.json
    2. 在左侧资源管理器选择开始的路径,右键选择执行发布( light-deploy )

    配置说明

    安装之后需要在 setting.json 里配置,也可以点击文件->首选项->设置->扩展->Light-deploy 进行配置 目前支持的配置如下

    "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",
                }
             }
          ]
       }
    

    关于配置的几项说明

    • 构建路径:构建开始的路径,右键点击执行发布( light-deploy )时的路径,也可以在 build 选项中加入配置 projectRootPath,此配置优于右键选择配置
    • 文件上传位置:目前默认是 linux 登录用户的个人文件夹,即~

    即将实现

    • 支持配置日期格式化
    • 支持配置自动删除本地 /远程构建文件
    • 支持全局配置
    • 支持配置压缩方式

    写在最后

    最近写了一个前端项目,苦于每次都要进行手动发布,苦其久矣,网上找了一些插件也不能满足自己的需要,前段时间看了一篇基于 node 的打包文章(打酱油 12138 ),但是觉得还不够方便,便想能不能写 vscode 的插件来实现,遂去查了一下 vscode 插件的实现方式,发现 vscode 可以基于 node 通过 js 或者 ts 的方式来写插件,这不是就是让我操作的嘛,看了文档,写了一个比较简单的插件出来

    第一次写 vscode 插件,也是第一次写基于 node 的项目,期间查了各种各样的文档,加上一个人开发,自己也是简单的测试了一下,可能会有些 bug,不过提升工作效率还是可以的。

    代码

    可以配合 sync setting 等 vscode 配置同步插件来同步配置 欢迎 star,提 issues

    掘金

    核心代码

    插件

    3 条回复    2020-05-06 22:21:41 +08:00
    stillyu
        1
    stillyu  
       2020-05-06 18:53:13 +08:00 via iPhone
    配置是整个 vscode 用同一个吗?多个项目怎么办?
    stillyu
        2
    stillyu  
       2020-05-06 18:54:05 +08:00 via iPhone
    https://www.npmjs.com/package/ssh-deploy-release
    我之前用的这个,写好脚本放在项目下,感觉更方便一点
    CononYc
        3
    CononYc  
    OP
       2020-05-06 22:21:41 +08:00
    @stillyu 可以配置启用的配置,就是那个 active
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2487 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:34 · PVG 23:34 · LAX 07:34 · JFK 10:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.