前有Jenkins后有我sa-io,简洁极致的打包工具
虽然Jenkins能够自动化地构建前端项目,包括编译、打包等步骤,减少了手动操作的时间和错误,但他的复杂性配置对于前端开发来说还是比较头疼的,环境依赖基于java、Maven等看的头晕的配置,所以我这边就专门基于Jenkins的部分功能进行抽离、编写,最后组成sa-io。
为什么叫sa-io而不叫sa-ci
因为项目本身都是基于对文件的读写操作,0数据库,简单易懂,采用Json存储相应的配置、日志信息等。
文章后面会贴项目地址。
项目采用技术
- 利用
Vue3 + Elemenet Plus编写界面。 - 后端利用
Node + Express为主流技术。 - 利用
FS操作库对日志、数据Json等文件进行增删改查操作。 - 利用
child_process把操作指令转为自进程执行(多线程),执行操作互不影响。 - 利用
scp2对打包后的产物进行一键推送到目标服务器。 - 利用
chokidar对写入日志文件的内容进行监听变化,并采用SSE的方式进行单项通信推送。 - 利用
archiver对打包后的产物进行压缩并放到指定目录提供下载。
项目本身功能
- 对私有仓库的
git配置。 - 对项目列表进行增删管理。
- 利用
SSE实现打包日志的实时跟踪。 - 存储打包历史,提供不同版本打出来的产物进行下载。
- 支持一键推送到目标服务器地址。
- 支持查看历史打包日志,并在项目生成对应的
log文件。
环境
node 14 +gitpm2执行错误重启nvm可选、防止打包项目依赖于node版本pnpm可选、可扩展功能。
安装
window环境直接目录下installLinux环境则执行目录下的init.sh文件
项目功能演示贴图


获取git的操作token:

项目地址
最后,感兴趣的朋友们可以clone下来,github.com/LIAOJIANS/s…,如果觉得对你有帮助,请star一下谢谢。
楼下留言需要加的功能,我抽空按需加上。
转载自:https://juejin.cn/post/7389902952700641334