更新时间:2025-07-17 GMT+08:00
分享

开发代码

代码托管服务提供基于Git的在线代码管理服务,包括代码克隆/提交、分支管理等功能。

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

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

本章节介绍如何通过分支完成“门店网络查询功能”的开发代码。

创建需求分支

开发人员Chris在仓库中创建一个需求分支,用于开发新需求的代码。

  1. 进入项目“凤凰商城”,单击导航“代码 > 代码托管”,进入代码托管服务。
  2. 单击代码仓库“phoenix-sample”,进入仓库。
  3. 选择“代码 > 分支”页签,单击“新建分支”,在弹框中配置以下信息,单击“确定”。

    表1 新建分支

    配置项

    示例

    说明

    基于

    master

    选择已有的分支。

    分支名称

    Feature-Store

    分支的名称,最长200个字节。

    • 不支持以“- ”、“.”、“refs/heads/”、“refs/remotes/”开头。
    • 不支持空格、“[”、“\”、“<”、“~”、“^”、“:”、“?”、“*”、“!”、“( )”、“'”、“"”、“|”等特殊字符。
    • 不支持以“.”、“/”、“.lock”结尾。

    关联Req工作项

    前端展示 - 添加门店网络菜单

    分支关联的工作项,选择已有的工作项。

    页面提示操作成功,页面自动跳转至“文件”页面,页面中显示分支“Feature-Store”。

    图1 分支“Feature-Store”

修改并提交代码

开发人员Chris在需求分支中完成代码的开发。

  1. 在代码仓库“phoenix-sample”中的分支“Feature-Store”中,找到“vote/templates/store-network.html”并打开。
  2. 单击,添加以下代码,并在页面底部文本框中输入提交信息“添加门店列表”,单击“确定”。

    <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>
    图2 提交代码

    保存成功,页面中显示修改后的代码。

  3. 以同样方法打开并编辑“/vote/templates/index.html”。

    在179行添加以下代码,输入提交信息“fix #xxxxxx 前端展示 - 添加门店网络菜单”,单击“确定”。其中,“xxxxxx”是Task“前端展示 - 添加门店网络菜单”的编号。
    <li class="nav-item"> <a href="store-network" class="nav-link">门店网络</a> </li>

    保存成功,页面中显示修改后的代码。

  4. 查看提交记录。

    1. 单击导航“工作项 > 需求管理”,进入需求管理服务。
    2. 在“工作项”页签中找到Task“前端展示 - 添加门店网络菜单”,Task的状态已自动更新为“已解决”。
    3. 单击Task标题打开详情页。
    4. 选择“关联”页签,在“代码提交记录”下可看到一条记录,记录的描述与3中输入的提交信息相同。
      图3 代码提交记录

通过合并请求合并代码

开发人员Chris在完成代码开发与自测后,提交分支合并请求,项目经理Maggie审核合并请求后完成合入。

  1. Chris提交合并请求。

    1. 在代码仓库“phoenix-sample”中选择“合并请求”页签,单击“新建合并请求”。
    2. 源分支选择“Feature-Store”,目标分支选择“master”,单击“下一步”。
    3. 参照下表编辑合并请求详情。
      表2 合并请求配置

      配置项

      示例

      说明

      源分支

      Feature-Store

      合并请求的源分支。

      目标分支

      master

      合并请求的目标分支。

      标题

      添加门店网络列表

      合并请求的标题,最多255个字符。

      合并人

      Maggie

      完成合入代码操作的成员。

      审核人

      Maggie

      审核合并请求的成员。

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

      新建成功,页面中显示合并请求的详情。

  2. Maggie审核合并请求。

    1. 进入代码仓库“phoenix-sample”,选择“合并请求”页签,可找到由开发人员Chris创建的合并请求。
    2. 单击该请求,查看合并请求详情。
    3. 可在页面中留下评审意见。单击审核门禁中“通过”完成审核。
      图4 审核门禁
    4. 单击“合入”,将分支合入“master”。

      提示成功,完成合入。

(可选)调整yaml文件配置

如果计划部署应用至CCE,且CCE集群版本高于v1.15(不包括v1.15),请参考以下步骤调整代码仓库中的yaml文件,使其适配CCE集群版本。

  1. 进入项目“凤凰商城”,单击导航“代码 > 代码托管”,选择代码仓库“phoenix-sample”。
  2. 选择分支“master”,更新文件“kompose/db-deployment.yaml”。

    • 将第1行中“extensions/v1beta1”修改为“apps/v1”。
    • 找到“spec”代码段,添加以下代码行。
      selector:
        matchLabels:
          io.kompose.service: db
    • 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。
    图5 更新文件

  3. 更新文件“kompose/redis-deployment.yaml”。

    • 将第1行中“extensions/v1beta1”修改为“apps/v1”。
    • 找到文件中第一次出现的“spec”,在代码段中添加以下代码行。
      selector:
        matchLabels:
          io.kompose.service: redis
    • 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。

  4. 更新文件“kompose/result-deployment.yaml”。

    • 将第1行中“extensions/v1beta1”修改为“apps/v1”。
    • 找到文件中第一次出现的“spec”代码段,添加以下代码行。
      selector:
        matchLabels:
          io.kompose.service: result
    • 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。

  5. 更新文件“kompose/vote-deployment.yaml”。

    • 将第1行中“extensions/v1beta1”修改为“apps/v1”。
    • 找到文件中第一次出现的“spec”代码段,添加以下代码行。
      selector:
        matchLabels:
          io.kompose.service: vote
    • 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。

  6. 更新文件“kompose/worker-deployment.yaml”。

    • 将第1行中“extensions/v1beta1”修改为“apps/v1”。
    • 找到文件中第一次的“spec”代码段,添加以下代码行。
      selector:
        matchLabels:
          io.kompose.service: worker
    • 找到“imagePullSecrets”代码段,将“regcred”修改为“default-secret”。

相关文档