likes
comments
collection
share

前有Jenkins后有我sa-io,简洁极致的打包工具

作者站长头像
站长
· 阅读数 15

虽然Jenkins能够自动化地构建前端项目,包括编译、打包等步骤,减少了手动操作的时间和错误,但他的复杂性配置对于前端开发来说还是比较头疼的,环境依赖基于javaMaven等看的头晕的配置,所以我这边就专门基于Jenkins的部分功能进行抽离、编写,最后组成sa-io

为什么叫sa-io而不叫sa-ci

因为项目本身都是基于对文件的读写操作,0数据库,简单易懂,采用Json存储相应的配置、日志信息等。 文章后面会贴项目地址。

项目采用技术

  1. 利用Vue3 + Elemenet Plus编写界面。
  2. 后端利用Node + Express为主流技术。
  3. 利用FS操作库对日志、数据Json等文件进行增删改查操作。
  4. 利用child_process把操作指令转为自进程执行(多线程),执行操作互不影响。
  5. 利用scp2对打包后的产物进行一键推送到目标服务器。
  6. 利用chokidar对写入日志文件的内容进行监听变化,并采用SSE的方式进行单项通信推送。
  7. 利用archiver对打包后的产物进行压缩并放到指定目录提供下载。

项目本身功能

  1. 对私有仓库的git配置。
  2. 对项目列表进行增删管理。
  3. 利用SSE实现打包日志的实时跟踪。
  4. 存储打包历史,提供不同版本打出来的产物进行下载。
  5. 支持一键推送到目标服务器地址。
  6. 支持查看历史打包日志,并在项目生成对应的log文件。

环境

  1. node 14 +
  2. git
  3. pm2 执行错误重启
  4. nvm 可选、防止打包项目依赖于node版本
  5. pnpm 可选、可扩展功能。

安装

  1. window 环境直接目录下install
  2. Linux 环境则执行目录下的init.sh文件

项目功能演示贴图

前有Jenkins后有我sa-io,简洁极致的打包工具

前有Jenkins后有我sa-io,简洁极致的打包工具

获取git的操作token:

前有Jenkins后有我sa-io,简洁极致的打包工具

项目地址

最后,感兴趣的朋友们可以clone下来,github.com/LIAOJIANS/s…,如果觉得对你有帮助,请star一下谢谢。

楼下留言需要加的功能,我抽空按需加上。

转载自:https://juejin.cn/post/7389902952700641334
评论
请登录