背景
marewood 的诞生是因为本人在做前端小组长时,因为手里同时管理了二三十个前端仓库,每个仓库经常使用不同的分支部署测试和预发布环境来验证,并且随时公司的业务发展,会有越来越多的h5活动。团队尝试使用过jenkins,但是各种配置和繁琐的使用让我萌生了写一个前端打包工具的念头。
V1.0.0 是经过了好久一段时间的使用重构而来,将实时状态同步技术WebSocket改成了SSE,并且提供了全新更方便的UI。
Screenshot
使用
node16
shell
docker run -d --name marewood -p 8088:8088 -v ~/docker/marewood:/marewood/resources ghcr.io/xusenlin/marewood:1.0.0-node16
node18
shell
docker run -d --name marewood -p 8088:8088 -v ~/docker/marewood:/marewood/resources ghcr.io/xusenlin/marewood:1.0.0-node18
node20
shell
docker run -d --name marewood -p 8088:8088 -v ~/docker/marewood:/marewood/resources ghcr.io/xusenlin/marewood:1.0.0-node20
可以选择你喜欢的node版本安装,当然也可以全部安装,这些镜像使用了alpine来构建,都很小(包含node,git,npm/yarn/pnpm等工具) 当然还有配置了npm/yarn/pnpm为阿里云的镜像可选,不然可能有的项目在打包时安装不上前端依赖,
node16.15
shell
docker run -d --name marewood -p 8088:8088 -v ~/docker/marewood:/marewood/resources ghcr.io/xusenlin/marewood:1.0.1-node16.15
node18
shell
docker run -d --name marewood -p 8088:8088 -v ~/docker/marewood:/marewood/resources ghcr.io/xusenlin/marewood:1.0.1-node18
当然,也有docker加速可选
加速镜像node18
shell
docker run -d --name marewood -p 8088:8088 -v ~/docker/marewood:/marewood/resources ghcr.dockerproxy.com/xusenlin/marewood:1.0.1-node18
- 如果注册的用户名是Admin,它将自动成为超级管理员,用户名不能重复。
- 配置前端项目,使用不同的打包命令自动选择不同的API请求地址,以满足各种环境的打包需求。
- 如果需要切换Node.js版本,请停止Marewood容器并使用相同挂载目录运行另一个版本的容器。
- 挂载的"resources"目录包含数据库文件、克隆的Git仓库和打包的静态文件(在"web"目录中),可以使用Nginx用于提供静态文件,并配置为指向"web"目录。这样的设置允许通过URL自由访问打包的项目
Git
是不是很方便?部署测试是不是很简单?只要新建仓库之后,就可以新建多个任务关联此仓库,什么分支了打包了,不同打包命令使用不同api请求地址了,统统不在话下。