HE2E DevOps实践之管理代码
背景介绍
本文以“DevOps全流程示例项目”为例,介绍如何在项目中进行代码开发。
开展实践前,需要完成创建项目。
本样例项目中采用分支来进行代码的开发。首先由开发人员Chris在代码仓库中创建分支,并进行代码开发;然后开发人员Chris在代码仓库中提交分支合并请求,项目经理Maggie评审通过后合并分支至主干。
创建分支
- 将master分支设置为受保护分支(本文档中由项目经理Maggie操作)。
- 进入“凤凰商城”项目,单击导航 ,找到代码仓库“凤凰商城”。
- 单击仓库名称进入代码仓库,选择“设置”页签。在导航中单击 。
- 单击“新建保护分支”,参照下表在弹框中完成配置,单击“确定”保存。
表1 新建保护分支配置 配置项
配置建议
选择需要保护的分支
选择“master”。
能推送
根据需要配置,本文档中保持默认配置。
能合并
根据需要配置,本文档中保持默认配置。
成员
根据需要勾选“能推送”、“能合并”,并在下拉列表中选择成员。
本文档中保持默认配置。
如果页面中已存在保护分支“master”,可单击,根据需要修改保护分支配置。
- 创建功能分支(本文档中由开发者Chris操作)。
- 进入“凤凰商城”项目,在代码托管页面中找到仓库“phoenix-sample”。
- 单击仓库名称进入代码仓库,在“代码”页签中单击“分支”。
- 单击“新建”,参照表2输入分支信息,单击“确定”保存。
修改、提交代码
- 单击导航“迭代”页签。
,选择
在迭代4中找到Task“前端展示 - 添加门店网络菜单”,将Task的状态修改为“进行中”。
- 单击导航“phoenix-sample”。 ,找到仓库
- 单击仓库名称进入代码仓库,选择“代码”页签。
- 单击文件列表上方的“master”,在下拉列表中选择分支“Feature-Store”。
- 在文件列表中找到“vote/templates/store-network.html”并打开。
- 单击,根据Story添加门店地址,并在页面底部文本框中输入备注信息“添加门店列表”,单击“确定”。
<ul> <li>A分店:E机场1号航站楼出发层靠右直行123米右侧</li> <li>B分店:F区G路456号</li> <li>C分店:H区J街789号</li> <li>D分店:K区L大道K大楼西侧</li> </ul>
- 以同样方法打开并编辑“/vote/templates/index.html”。
在179行添加菜单“门店网络”,输入提交信息“fix #xxxxxx 前端展示 - 添加门店网络菜单”,单击“确定”。
其中“#xxxxxx”是Task“前端展示 - 添加门店网络菜单”的编号,在工作项列表中获取,实践中修改为实际Task的编号。<li class="nav-item"> <a href="store-network" class="nav-link">门店网络</a> </li>
- 单击导航“前端展示 - 添加门店网络菜单”。
,在迭代4中找到Task
- 单击Task名称,在详情页中可看到状态自动变为“已解决”。
- 选择“关联”页签,在“代码提交记录”下可看到一条记录,记录的描述与上一步中输入的提交信息相同。
图1 代码提交记录
检视代码、合并分支
- 开发人员发起合并请求。
开发人员Chris完成代码开发,确认无误后,即可发起合并请求,将功能分支合并到master中。
- 进入代码仓库,选择“合并请求”页签,单击“新建”。
- 源分支选择“Feature-Store”,目标分支选择“master”,单击“下一步”。
- 参照表3编辑合并请求详情。
- 单击“新建合并请求”完成合并请求的创建。
- 项目经理评审并完成代码合入。
本文档中,合并请求的评审人与合并人均是项目经理Maggie。因此Maggie可评审合并请求内容,并在评审通过后完成分支合入。
- 进入代码仓库后,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。
- 单击该请求,查看合并请求详情。
- 可在页面中留下评审意见。单击审核门禁中“通过”完成审核。
- 单击“合入”,将分支合入“master”。
如果发起分支合并请求时勾选了“合并后删除源分支”,分支“Feature-Store”将在分支合并完成后被删除。