服务端自动构建代码
2018-05-29 本文已影响0人
YellowPoint
预期效果:
编辑代码后,一键将代码更新到coding上,之后就都是自动的拉取文件,构建文件,最后把文件上传到生产环境;
实现大纲:
- 开发环境编辑代码
- 通过svn上传到coding
- 触发coding的webhook的提交事件,调用一个接口
- 此接口使用node部署在ci服务器,接到coding的post请求后
- 使用git将最新的代码强制更新下来
- 然后执行gulp,对代码压缩编译合并添加md5戳等
- 使用gulpssh上传生成的文件到测试地址,所有文件包括图片字体等全部上传覆盖
- 打开测试地址页面,检查页面是否正常
- 手动调用上传生产环境的接口,此时就不再构建,直接上传之前构建完成的文件
- 最后检查生产地址页面是否正常
技术细节:
- 服务器安装最新node nvm
- 更新g++
- 服务器安装/更新git
- 通过git与coding建立连接 ssh密钥
- git的各种操作,强制更新,回退什么的
- 还好gulp在服务器改动不大 ip加入权限
- linux的各种命令操作 vim、cat、rm
- node监听接口,get、post响应
- node操作系统命令
- node pm2 管理进程
其他问题
- 之前看的百度那个fis工具,也能实现这些?
- docker听说很吊,能否优化我的项目
- 要出个页面来配置各个项目的参数?源代码路径、上传的地址、
- 那这些配置是否要存在数据库
- 再就是log的记录
- 错误上报系统,fundebug收费呀,自己做?
- 上传代码时候的检测与单元测试
- node能做的更多,实现后台的部分功能