ideploy 是为前端团队构建部署工程化而开发的一个持续交付平台。我们根据团队人员,项目增长而面临的越来越多在构建,交付等日常工作中的痛点,设计了很多特有而简单易用的功能,节省了团队很多构建部署的协调和 copy 体力工作,极大的提升了团队的开发效率。随着功能的完善,觉得这个系统可以帮助很多类似我们这样成长中的前端团队(当然系统其实也是支持 java、php 等项目的部署的,通过插件编写也可以支持 go 甚至更多语言的构建部署)实现快速构建,快速部署,放心上线。
开发语言: nodejs
数据库: mysql
后端框架: thinkjs
前端js框架 react
前端ui框架 ant.design
git clone xxxxx.git 代码到本地
安装nodejs 依赖:在根目录下运行npm install
安装ansible (依赖ansible做部署前后的命令行执行)
安装mysql 数据库,这里就不展开讲了,具体请参考:mysql文档
新建一个数据库(名字自己取一个就行,比如fe_build),并且开放足够的访问权限,具体可以参考mysql文档
代码,通知邮件等访问权限配置:
由于构建部署系统需要从代码仓库(svn,git)拉取代码,所以需要首先配置svn仓库用户名和密码
打开src/common/config/config.js,分别填写各项配置,具体如下:
export default { cvsUser: 'myuser',//svn用户名 cvsPass: 'mypass',//svn密码 emailHost: 'smtp.qq.com',//通知邮箱地址,这里用qq邮箱作为参考 emailport: 465,//端口 emailUser: '[3333@qq.com](mailto:3333@qq.com)',//邮箱账号 emailPass: 'xxxxx',//邮箱授权码(具体可以登录mail.qq.com->设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务->生成授权码获取) cvsDir: '/temp',//svn代码临时保存目录 port: 80 //服务器端口,就是部署平台的web服务端口, }
如果是git项目请保证部署机器能直接有访问git的权限
输入命令以下命令进行编译:
npm run build
编译完成,运行以下名命令启动:
npm run start
也可以用forever或者pm2来管理服务,以forever为例:
npm install -g forever
项目内置了forever的启动和停止脚本:
./start.sh ./stop.sh
服务器起来以后,我们直接访问
http://localhost
页面自动跳到登录注册页面,说明启动成功:
http://localhost/install
会出现如下界面,点击‘确定导入数据库表’生成数据库。
当然,也可以通过mysql 直接倒入数据库表结构文件,数据库表文件是db/db.sql