开发到部署流程繁琐 如何可以自动化部署, 项目可以自由版本回滚切换. 集成和持续交付 CI/CD
讨论记录 2018年10月09日15:34:13
开发到线上部署流程
M:
- 开发提交项目代码, 及部署文档, 发给测试人员.
- 测试人员根据部署文档, 在线上测试机器部署及测试.
- 如果测试没有问题, 将直接在生产中部署.
- 如果测试有问题, 退回给开发 开发修复并 svn tags 然后 测试人员使用 svn witch 切换到对应的 tags 再测试.
- 直到测试没有问题. 部署线上生产.
D: FTP
D: ftp 上传代码,代码上传到了一台叫发布机的服务器去了,好像是命名叫发布机吧,具体也忘了,但是 刷新网页半天没显示,后面才知道并不是实时的。 好像是会自动检测代码,如果有问题的话是不会最终到线上版
X: 开发功能-创建分支-完成提交合并-创建新的发布版本-登录测试机-拉取代码-测试-有bug改bug没bug就合并发布版本到master-提交-同步数据库字段-登录生产机-拉取代码-清除数据库表缓存-如有问题创建修复补丁-完成后提交合并
D: 三个概念,持续集成,数据库迁移,数据填充。我觉得哇,laravel中的数据库迁移篇里的工具真的好用。
数据库结构同步
M:
方式1 通过文件来每次项目提交已项目版本号为名字 project_1.0.1.sql
方式2 通过navicat里的数据结构对比
X: 改数据结构-先到erwin结构里面修改-到数据库navicat改-在navicat历史记录里面将sql复制到md文件-每次上线都会先看md文件是否有sql需要执行-复制sql到正式库执行-完成
D: 都可以一行命令同步
G: 大佬级别啊~你们… 能不能让我听懂的
关于开发数据同步
M: 其实数据结构还好说, 有些程序需要的数据同步才麻烦(这种数据我称为开发数据) 比如分类的数据 这种数据线线上可以添加. 会导致id不一致pid这些值.
D: 数据同步那是另外一回事, 测试阶段,数据填充工具很方便
相关内容
大家公司中上线测试和上线生产流程是怎么走的?
Jenkins+Ansible+Gitlab自动化部署三剑客
Laravel 实践之路: 数据库迁移与数据填充
相关部署平台
walle 瓦力
jenkins
Test and Deploy with Confidence
flow
teamcity
gitlab-ci
codeship
脉冲云