文档首页 > > 最佳实践> HE2E DevOps实践>

步骤四:开发项目代码

步骤四:开发项目代码

分享
更新时间:2021/03/09 GMT+08:00

代码托管提供基于Git的在线代码托管服务,包括代码克隆/提交、分支管理等功能。CloudIDE是DevCloud的云端开发环境服务,向开发者提供按需配置、快速获取的工作空间(包含编辑器和运行环境)。

由于门店网络查询功能为高优先级Story,本章节将以此功能为例进行介绍如何使用代码托管服务进行源代码管理与开发。

本样例项目中采用分支来进行代码的开发。首先由开发人员Chris在代码仓库中创建分支,并使用ClouIDE进行代码开发;然后开发人员Chris在代码仓库中提交分支合并请求,项目经理Maggie评审通过后合并分支至主干。分支管理相关知识,请参考基于Git分支的经典工作模式

使用分支管理代码

分支是用来将特性开发并行独立出来的工具。使用分支意味着把工作从开发主线上分离开来,以免影响开发主线。

在创建代码仓库时,会有一个默认分支“master”,即主线。为了保证凤凰商城的稳定运行,需要有一个稳定的持续可用master。因此,项目经理建议:不直接在master分支上进行代码开发,而是统一采用功能分支+合并请求的方式,并且每一个功能分支的代码,必须经过团队的其他成员评审后,才可以进行合并。

  1. 将master分支设置为受保护分支(本文档中由项目经理Maggie操作)。

    1. 进入“凤凰商城”项目,单击页面上方导航代码 > 代码托管,页面将显示样例项目自动创建的代码仓库“phoenix-sample”,如图1所示。
      图1 代码托管
    2. 单击仓库名称进入代码仓库,选择“设置”页签。在左侧导航中单击仓库管理 > 保护分支管理
    3. 单击“新建保护分支”,参照表1在弹框中完成配置,单击“确定”保存,如图2所示。
      表1 新建保护分支配置

      配置项

      配置建议

      选择需要保护的分支

      选择“master”

      管理者权限

      选择“能提交,能合并”

      开发者权限

      选择“不能提交,不能合并”

      图2 新建保护分支

  2. 创建功能分支(本文档中由开发者Chris操作)。

    1. 进入“凤凰商城”项目,在代码托管页面中找到仓库“phoenix-sample”
    2. 单击仓库名称进入代码仓库,选择“分支”页签。
    3. 单击页面右上角“新建分支”,在弹框中输入分支名“Feature-Store”,单击“确定”保存,如图3所示。
      图3 新建分支

使用CloudIDE修改和提交代码

迭代规划时将门店查询功能分解为前端展示与后台管理两个task,本节以Task“前端展示 - 添加门店网络菜单”为例介绍如何使用CloudIDE修改与提交代码。

  1. 单击页面上方导航工作 > 迭代,在迭代4中找到Task“前端展示 - 添加门店网络菜单”,将Task的状态修改为“进行中”
  2. 单击页面上方导航代码 > 代码托管,找到仓库“phoenix-sample”
  3. 将代码导入CloudIDE中。

    由于目前CloudIDE只支持“华北-北京一”“华北-北京四”“东北-大连”三个区域,因此请根据项目所属的区域进行导入操作。

    • 项目所属区域在“华北-北京一”“华北-北京四”“东北-大连”之中。
      1. 单击操作列中的图标,跳转至CloudIDE,如图4所示。
        图4 代码托管
      2. 等待CloudIDE加载完毕(约1~2分钟),可看到代码仓库已自动导入CloudIDE中。
    • 项目所属区域不在“华北-北京一”“华北-北京四”“东北-大连”之中。
      1. 在代码仓库中设置HTTPS密码
      2. 在代码仓库列表中,在仓库URL列获取HTTPS地址。
      3. 登录CloudIDE,在“免费体验”页签单击“All in One”下的“免费体验”,申请60分钟的免费体验实例,如图5所示。
        图5 CloudIDE
      4. 等待CloudIDE加载完毕,导入工程,其中Url为代码仓库HTTPS地址,User和Password分别为HTTPS用户名与密码。

  4. 选择分支。

    1. 单击页面左下角“master”,页面上方出现下拉列表。
    2. 在下拉列表中选择使用分支管理代码中创建的分支“Feature-Store”,此时页面左下角显示“Feature-Store”,如图6所示。
    图6 选择分支

  5. 修改代码。

    1. 在左侧导航中找到文件“vote/templates/store-network.html”并打开,根据需求规划添加门店地址,如图7所示。
      <ul>
      	<li>北京分店:首都机场1号航站楼出发层靠右直行888米右侧</li>
      	<li>天津分店:经济技术开发区黄海路888号</li>
      	<li>上海分店:静安区大统路888号</li>
      	<li>重庆分店:涪陵区桥南大道电信局西侧</li>
      </ul>
      图7 添加门店地址
    2. 在左侧导航中找到文件“/vote/templates/index.html”并打开,在179行添加菜单“门店网络”,如图8所示。
      <li class="nav-item"> <a href="store-network" class="nav-link">门店网络</a> </li>
      图8 添加菜单

  6. 提交修改至代码仓库,如图10所示。

    1. 单击左侧边栏图标,打开Git功能。
    2. 单击修改文件后方的图标,将修改内容添加进提交内容当中。
    3. 输入提交信息“fix #8008614 添加门店网络菜单”

      其中“#8008614”是本文档中Task“前端展示 - 添加门店网络菜单”的编号(如图9所示),实践中请修改为实际Task的编号。

      图9 工作项编号
    4. 单击图标提交本次修改。
    5. 单击图标
    6. 在下拉列表中单击“Push”,推送代码到代码仓库。
    图10 提交修改至代码仓库

  7. 返回代码仓库,在“分支”页面中找到分支“Feature-Store”,最新提交与CloudIDE中输入的内容相同,如图11所示。

    图11 分支列表

  8. 单击页面上方导航工作 > 迭代,在迭代4中找到Task“前端展示 - 添加门店网络菜单”

    • 单击Task名称,在详情页中可看到状态自动变为“已解决”
    • 选择“关联”页签,在“代码提交记录”下可看到一条记录,详情与上一步中看到的分支提交记录相同,如图12所示。
    图12 代码提交记录

检视代码、合并分支

  1. 开发人员发起合并请求。

    开发人员Chris完成代码开发,确认无误后,即可发起合并请求,将功能分支合并到master中。

    1. 进入代码仓库,选择“合并请求”页签,单击“新建合并请求”
    2. 选择从“Feature-Store”“master”,单击“下一步”
    3. 参照表2编辑合并请求详情,如图13所示。
      表2 合并请求配置

      配置项

      配置建议

      标题

      输入“添加门店网络列表”

      合并人

      单击“添加合并人”,在弹框中选择“Maggie”

      评审人

      单击“添加评审人”,在弹框中选择“Maggie”

    4. 单击“确定”完成合并请求的创建。
      图13 新建合并请求

  2. 项目经理评审并完成代码合入。

    本文档中,合并请求的评审人与合并人均是项目经理Maggie。因此Maggie可评审合并请求内容,并在评审通过后完成分支合入。

    1. 进入代码仓库后,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。
    2. 单击该请求,查看合并请求详情。
    3. 通过页面右下角可评分、发布评论或讨论,如图14所示。详细操作请参考分支合并评审
    4. 将分支合入主干。
      完成评审后,即可将分支合入“master”。合入方式有两种:
      • 普通合入:合并后,分支“Feature-Store”仍然保留。
      • 删除源分支合入:合并的同时,自动删除分支“Feature-Store”
      图14 合并请求

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区论坛频道来与我们联系探讨

智能客服提问云社区提问