前有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 +
git
pm2
执行错误重启nvm
可选、防止打包项目依赖于node版本
pnpm
可选、可扩展功能。
安装
window
环境直接目录下install
Linux
环境则执行目录下的init.sh
文件
项目功能演示贴图
获取git的操作token:
项目地址
最后,感兴趣的朋友们可以clone
下来,github.com/LIAOJIANS/s…,如果觉得对你有帮助,请star
一下谢谢。
楼下留言需要加的功能,我抽空按需加上。
转载自:https://juejin.cn/post/7389902952700641334