[关闭]
@nalan90 2018-12-11T15:31:51.000000Z 字数 3746 阅读 837

开发注意事项

环球易购


1、分支名称

说明:分支的创建RD跟QA两种角色都会涉及,RD创建新分支开发新的需求、修复bug,QA创建新的分支进行预发/生产环境的发布,目前公司代码发布系统APOLLO使用tag进行上线,所以QA会基于release、hotfix分支创建对应的tag,发布代码到指定的环境(预发、生产)。生产环境发布四小时后业务正常,release分支合并到master分支。


2、开发分支合并到上线分支流程

说明:当前Affiliate开发分支合并到release分支是可以直接push上去,release分支没有设置相应的权限,合并过程缺少code review过程。建议将release分支设置为protected,指定core review的负责人才有相应的合并权限,并承担core review的职责。


3、常规预发布环境上线流程(截图来源代码发布系统APOLLO)


4、常规生产环境发布上线流程(截图来源代码发布系统APOLLO)


5、运行任务脚本和说明

说明: 以Affiliate项目为例,目前所有的计划任务都采用的是HTTP URL的请求方式,代码上线之后需要在计划任务管理平台(webmin)添加相应的任务。

  1. /usr/bin/curl http://affiliate.gw-ec.com/interface/access/index

6、接口名称

说明:以Affiliate项目为例,对外的API接口与计划任务都放在affiliate/Apps/interface/controllers目录下,wiki并不适合管理API接口,新部署的文档管理平台YAPI,新开发的接口直接添加即可,Affiliate/MSS等系统原有的接口需要迁移过来。可在线调试接口。

image_1cuduuupt7ud1rdr15s7hr913md16.png-163.8kB


7、是否db变更

说明:预发布跟生产环境使用相同的数据库,如有db的变更,必须在代码发布到预生产之前找相应的DBA提交工单进行变更操作。以添加表为例

  1. CREATE TABLE `af_material` (
  2. `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增 id',
  3. `web_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '网站ID',
  4. `name` varchar(30) NOT NULL DEFAULT '' COMMENT '素材名称',
  5. `form` varchar(20) NOT NULL DEFAULT '' COMMENT '格式',
  6. `create_by` varchar(64) NOT NULL DEFAULT '' COMMENT '操作者',
  7. `update_by` varchar(64) NOT NULL DEFAULT '' COMMENT '修改者',
  8. `is_del` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否删除,0-未删除,1-已删除',
  9. `is_show` tinyint(4) NOT NULL DEFAULT '0' COMMENT '是否显示,0-不显示,1-显示',
  10. `sort` int(11) NOT NULL DEFAULT '0' COMMENT '排序',
  11. `create_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  12. `update_timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '数据更新时间,mysql自动更新',
  13. PRIMARY KEY (`id`),
  14. KEY `idx_update_time` (`update_timestamp`),
  15. KEY `idx_name` (`name`)
  16. ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='素材表';

注意事项: SQL工单执行后,需要连接对应的从库判断数据库变更是否成功,成功后才能通知QA发布线上代码。


8、需求涉及的表

说明:对于开发的需求涉及的表,大概的业务逻辑在活动日志->注释栏描述清楚,提交QA时方便快速的进行测试。


9、权限方法修改

说明:新开发的后台功能,需要添加指定的菜单,然后分配权限,若需要添加的菜单较多,建议直接通过DB运维平台录入(代码上线后),菜单较少则后台人工录入。

  1. INSERT INTO af_menu (menu_id, name, module, controller, action, is_show, allow_all, fid, sort, create_time, create_user, update_time, update_user) VALUES
  2. (null, '素材列表', 'admin', 'material', 'index', 1, 0, 606, 0, '2018-09-13 10:34:47', 'lsm', '2018-09-13 17:24:21', 'lsm'),
  3. (null, '主题列表', 'admin', 'theme', 'index', 1, 0, 606, 0, '2018-09-13 10:35:26', 'lsm', '2018-09-13 17:25:30', 'lsm'),
  4. (null, '添加主题页面', 'admin', 'theme', 'add-view', 0, 1, 606, 0, '2018-09-13 18:04:31', 'lsm', '2018-09-13 18:20:22', 'lsm'),
  5. (null, '添加主题保存', 'admin', 'theme', 'do-add', 0, 1, 606, 0, '2018-09-13 18:05:38', 'lsm', '2018-09-13 18:20:29', 'lsm'),
  6. (null, '隐藏主题', 'admin', 'theme', 'do-hidden', 0, 1, 606, 0, '2018-09-13 18:06:23', 'lsm', '2018-09-13 18:20:34', 'lsm'),
  7. (null, '显示主题', 'admin', 'theme', 'do-show', 0, 1, 606, 0, '2018-09-13 18:07:07', 'lsm', '2018-09-13 18:20:41', 'lsm'),
  8. (null, '推荐主题', 'admin', 'theme', 'do-add-recommend', 0, 1, 606, 0, '2018-09-13 18:07:56', 'lsm', '2018-09-13 18:20:45', 'lsm'),
  9. (null, '取消主题推荐', 'admin', 'theme', 'do-cancel-recommend', 0, 1, 606, 0, '2018-09-13 18:08:55', 'lsm', '2018-09-13 18:20:50', 'lsm');

10、功能影响点

说明:开发过程中若需要改动一个底层的方法,首先得查找一下有多少地方调用该方法,若不确定该方法的重要性可找原作者进行沟通,修改后除了测试当前新开发的逻辑,至少还需要测试一个其他调用该逻辑的功能。目前两个前端站点的代码使用同一套,修改任何一个前端站点的逻辑都需要确认是否会影响其他业务逻辑。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注