技术&日志

上线测试和上线生产流程(开发到测试到生产部署)-持续集成

开发到部署流程繁琐 如何可以自动化部署, 项目可以自由版本回滚切换. 集成和持续交付 CI/CD

讨论记录 2018年10月09日15:34:13

开发到线上部署流程

M:

  1. 开发提交项目代码, 及部署文档, 发给测试人员.
  2. 测试人员根据部署文档, 在线上测试机器部署及测试.
  3. 如果测试没有问题, 将直接在生产中部署.
  4. 如果测试有问题, 退回给开发 开发修复并 svn tags 然后 测试人员使用 svn witch 切换到对应的 tags 再测试.
  5. 直到测试没有问题. 部署线上生产.

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
脉冲云

相关资料

靠谱好用的 CI 框架选哪家
持续集成是什么
如何理解持续集成、持续交付、持续部署

发表评论