步骤三:开发代码
代码托管服务提供基于Git的在线代码托管服务,包括代码克隆/提交、分支管理等功能。CloudIDE是云端开发环境服务,向开发者提供按需配置、快速获取的工作空间(包含编辑器和运行环境)。
由于门店网络查询功能为高优先级Story,本章节将以此功能为例进行介绍如何使用代码托管服务进行源代码管理与开发。
本样例项目中采用分支来进行代码的开发。首先由开发人员Chris在代码仓库中创建分支,并使用CloudIDE进行代码开发;然后开发人员Chris在代码仓库中提交分支合并请求,项目经理Maggie评审通过后合并分支至主干。分支管理相关知识,请参考基于Git分支的经典工作模式。
使用分支管理代码
分支是用来将特性开发并行独立出来的工具。使用分支意味着把工作从开发主线上分离开来,以免影响开发主线。
在创建代码仓库时,会有一个默认分支“master”,即主线。为了保证凤凰商城的稳定运行,需要有一个稳定的持续可用master。因此,项目经理建议:不直接在master分支上进行代码开发,而是统一采用功能分支+合并请求的方式,并且每一个功能分支的代码,必须经过团队的其他成员评审后,才可以进行合并。
使用CloudIDE修改和提交代码
在迭代规划时将门店查询功能分解为前端展示与后台管理两个task,本节以Task“前端展示 - 添加门店网络菜单”为例介绍如何使用CloudIDE修改与提交代码。
- 单击导航,在迭代4中找到Task“前端展示 - 添加门店网络菜单”,将Task的状态修改为“进行中”。
- 单击导航,找到仓库“phoenix-sample”。
- 将代码导入CloudIDE中。
由于目前CloudIDE只支持“华北-北京一”、“华北-北京四”、“东北-大连”三个区域,因此请根据项目所属的区域进行导入操作。
- 项目所属区域在“华北-北京一”、“华北-北京四”、“东北-大连”之中。
- 单击仓库名称进入代码仓库,单击页面右上角“CloudIDE”,页面跳转至CloudIDE服务。
图3 代码仓库
- 等待CloudIDE加载完毕,可看到代码仓库已自动导入CloudIDE中。
- 单击仓库名称进入代码仓库,单击页面右上角“CloudIDE”,页面跳转至CloudIDE服务。
- 项目所属区域不在“华北-北京一”、“华北-北京四”、“东北-大连”之中。
- 项目所属区域在“华北-北京一”、“华北-北京四”、“东北-大连”之中。
- 选择分支。
- 单击页面左下角“master”,页面上方出现下拉列表。
- 在下拉列表中选择使用分支管理代码中创建的分支“Feature-Store”,此时页面左下角显示“Feature-Store”。
图5 选择分支
- 修改代码。
- 在左侧导航中找到文件“vote/templates/store-network.html”并打开,根据需求规划添加门店地址。
<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行添加菜单“门店网络”。
<li class="nav-item"> <a href="store-network" class="nav-link">门店网络</a> </li>
图6 添加菜单
- 在左侧导航中找到文件“vote/templates/store-network.html”并打开,根据需求规划添加门店地址。
- 提交修改至代码仓库。
- 单击左侧边栏图标
,打开“Source Control: Git”功能。 - 鼠标悬停在CHANGES栏上,单击
。 - 输入提交信息“fix #xxxxxx 添加门店网络菜单”。
其中“#xxxxxx”是Task“前端展示 - 添加门店网络菜单”的编号,在工作项列表中获取,实践中修改为实际Task的编号。
- 单击图标
提交本次修改。 - 单击图标
。 - 在下拉列表中单击“Push”,推送代码到代码仓库。
图7 提交修改至代码仓库
- 单击左侧边栏图标
- 返回代码仓库,在“分支”页面中找到分支“Feature-Store”,最新提交与CloudIDE中输入的内容相同。
图8 分支列表
- 单击导航,在迭代4中找到Task“前端展示 - 添加门店网络菜单”。
- 单击Task名称,在详情页中可看到状态自动变为“已解决”。
- 选择“关联”页签,在“代码提交记录”下可看到一条记录,详情与上一步中看到的分支提交记录相同。
图9 代码提交记录
检视代码、合并分支
- 开发人员发起合并请求。
开发人员Chris完成代码开发,确认无误后,即可发起合并请求,将功能分支合并到master中。
- 进入代码仓库,选择“合并请求”页签,单击“新建合并请求”。
- 源分支选择“Feature-Store”,目标分支选择“master”,单击“下一步”。
- 参照表3编辑合并请求详情。
图10 新建合并请求
- 单击“确定”完成合并请求的创建。
- 项目经理评审并完成代码合入。
本文档中,合并请求的评审人与合并人均是项目经理Maggie。因此Maggie可评审合并请求内容,并在评审通过后完成分支合入。
- 进入代码仓库后,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。
- 单击该请求,查看合并请求详情。
- 可在页面左下角留下评审意见。单击页面右上角“审核通过”完成评审。
图11 评审合并请求
- 单击“合入”,将分支合入“master”。




