来自:https://www.jianshu.com/p/bd9d3e734cf2?utm_campaign=

目录

平台概述

平台定位

客户价值

系统配置

角色管理

新建角色

编辑角色权限配置

停用角色

启用角色

角色权限说明

用户管理

新建用户

查看用户详情

编辑用户信息

删除用户

角色分配

添加角色

删除角色

项目管理

新建项目

编辑项目信息

禁用/启用项目

启用项目

环境管理

创建环境

编辑环境信息

停用环境

环境启用

环境删除

用户组管理

创建用户组

编辑用户组

添加用户组用户

删除用户组

1. 敏捷管理

1.1. 故事地图

1.1.1. 使用故事地图

1.1.2. 故事地图工具栏介绍

1.2. 用户故事

1.2.1. 用户故事界面功能详解

1.3. 冲刺

1.3.1. 冲刺界面功能详解

1.4. 看板

1.4.1. 看板管理界面功能详解

1.5. 任务

1.5.1. 任务管理界面功能详解

1.6. 漏洞

1.6.1. 漏洞管理界面功能详解

持续集成

3.1服务创建

服务类型

服务组

新建服务

服务停用

服务启用

分支管理

分支类型

默认分支

使用流程

新建分支

分支管理步骤

3.2.6 解决分支冲突

服务版本

查看服务版本信息

查看流水线信息

查看代码质量情况

服务发布

服务发布

自动发布

持续部署

资源管理

新建资源

资源编辑

资源删除

网关管理

新建网关

网关删除

域名管理

新建域名

编辑域名信息

删除域名

服务部署

查看服务列表

查看服务版本列表

查看部署文件

服务部署

查看运行中的服务

查看容器组列表

查看容器组日志

灰度部署

自动部署

查看服务运行历史

洞察监控

开发监控

综述

概况

计划

编程

构建

质量

发布

运营监控


通过devops操作手册便可以看出devops就是一个便于安装升级卸载项目等功能的工具. 若将单体服务改造成微服务,会面临以前10个人负责一两个项目,改成微服务后可能一个人要维护两三个项目,每次项目升级,如果还是手动的进行升级或修改配置文件等操作那不得搞si。

平台概述

平台定位

软件产品交付过程中IT工具链的打通,开发运维一体化,使得各个团队减少时间损耗,更加高效地协同工作。

客户价值

  • 代码快速提交和反馈
  • 开发可控生产环境
  • 全自动高效自动化

系统配置

角色管理

  • 菜单层次:全局层。
  • 菜单路径:管理 > 角色。

当API发送请求时,通过授予用户角色来授予适当的权限来使用资源,该篇介绍如何进行角色的创建与权限配置。

新建角色

  1. 点击 创建

  2. 输入 “角色名” , “角色编码” ,设置是否可编辑以及是否启用,点击 添加权限

    注:API权限列表

  3. 选择所需相应权限,点击 确定 ,进行创建。

编辑角色权限配置

  1. 针对已存在的角色,点击 编辑 ,或者从详情界面点击 编辑

  2. 对角色相关信息进行修改,以及权限进行修改,点击 添加权限

  3. 添加或删除一个或多个权限,点击 确定

停用角色

  • 点击 停用 ,该角色将不可分配给用户。

启用角色

点击 启用 ,该角色正常使用,可以分配给相应用户。
注:现有角色需手动配置权限列表

角色权限说明

角色名称 权限名称 权限描述 权限层级
项目创建者 hap-user-service.password-policy.queryOrganization 查询目标组织密码策略 organization
项目创建者 hap-devops-service.environment.listEnvironment 查询全部环境信息 organization
项目创建者 hap-devops-service.environment.createEnvironment 创建环境 organization
项目创建者 hap-devops-service.environment.checkEnvironmentByName 检查环境名是否可用 organization
项目创建者 hap-devops-service.environment.listEnvironmentByPageSize 分页查询环境信息 organization
项目创建者 hap-devops-service.environment.getEnvironmentByEnvironmentId 环境管理详情 organization
项目创建者 hap-devops-service.environment.updateEnvironment 更新环境 organization
项目创建者 hap-devops-service.environment.deleteEnvironmentByEnvironmentId 删除环境 organization
项目创建者 hap-devops-service.project.checkProject 校验项目code,name是否重复 organization
项目创建者 hap-user-service.project.select 分页查询项目 organization
项目创建者 hap-user-service.project.create 添加项目,organization id不需要,强制当前用户所属organization organization
项目创建者 hap-user-service.project.checkProjectCode checkProjectCode organization
项目创建者 hap-user-service.project.queryOrganizationProject 根据组织id查询项目 organization
项目创建者 hap-user-service.user.select 分页查询 organization
项目创建者 hap-user-service.user.create 新增用户 organization
项目创建者 hap-user-service.user.query 根据删除组织下所有用户 organization
项目创建者 hap-user-service.user.updateUser 通过用户id查询用户 organization
项目创建者 hap-user-service.organization.query 根据组织id查询组织 organization
项目创建者 hap-user-service.role.selectOrganizationRole 查询可分配组织角色列表 organization
项目创建者 hap-user-service.project.update 根据id修改项目信息,只能修改自己组织项目 organization
项目所有者 hap-user-service.project.query 按照Id查询项目,只能查询自己组织项目 project
项目所有者 hap-user-service.member-role-project.select 查询项目成员角色 project
项目所有者 hap-user-service.member-role-project.create 项目层新增成员角色 project
项目所有者 hap-user-service.member-role-project.update 更新项目层成员角色 project
项目所有者 hap-user-service.member-role-project.createSingle 项目层新增成员角色 project
项目所有者 hap-user-service.member-role-project.delete 删除项目层成员角色 project
项目所有者 hap-user-service.role.selectProjectRole 查询可分配项目角色列表 project
项目所有者 hap-user-service.role.selectProjectRoleGroupByService 查询可分配项目角色列表(查询结果以服务分组) project
源代码管理员 hap-user-service.project.query 按照Id查询项目,只能查询自己组织项目 project
项目成员 hap-user-service.project.query 按照Id查询项目,只能查询自己组织项目 project
看板所有者 hap-user-service.project.query 按照Id查询项目,只能查询自己组织项目 project
看板成员 hap-user-service.project.query 按照Id查询项目,只能查询自己组织项目 project
开发监控 hap-user-service.project.query 按照Id查询项目,只能查询自己组织项目 project
部署管理员 hap-user-service.groups.select 查询Group organization
部署管理员 hap-user-service.groups.create 创建Group organization
部署管理员 hap-user-service.groups.query 查询Group organization
部署管理员 hap-user-service.groups.update 更新Group organization
部署管理员 hap-user-service.groups.delete 删除Group organization
部署管理员 hap-user-service.user-groups.insertUserGroups 创建userGroups organization
部署管理员 hap-user-service.user-groups.delete 删除userGroups organization

用户管理

  • 菜单层次:组织层。
  • 菜单路径:IAM > 用户管理。

面向平台管理员提供用户管理功能,可以新建用户,进行用户信息维护等。
注:用户可由其他系统批量导入。

新建用户

  1. 点击创建按钮。

  2. 输入用户相关信息,点击创建按钮,完成创建。

  3. 新建的用户“张三”已在用户列表中,gitlab自动生成用户“张三”。。

查看用户详情

  1. 点击详情,进入用户详情界面。

  2. 查看所需信息。

编辑用户信息

  1. 点击编辑,进入用户编辑界面。

    或从用户详情界面点击编辑按钮,进入用户编辑界面。

  2. 对用户信息进行修改,点击保存按钮,用户信息修改完成。

删除用户

  1. 点击删除

  2. 再次点击删除按钮,用户删除成功。

角色分配

  • 菜单层次:组织层/项目层
  • 菜单路径:IAM > 角色分配。

面向平台管理员、项目所有者提供的权限管理,可以在组织或项目内添加成员,为其分配适当的角色,也可以调整现有成员的角色,可以有适当的权限使用资源。

添加角色

  1. 若需要分配的用户不在该组织/项目中,点击 添加 按钮进行角色添加。

    例如:当用户“25777”不属于“演示项目0131”项目时,点击添加,输入用户名,为该用户分配角色权限。

  2. 若用户存在于成员角色管理列表中,无需点击 添加 ,点击 ,选择一个或多个角色进行分配。

    例如,创建用户完成后,平台会自动分配 “组织查看者” 的角色,该用户存在于成员角色管理列表中,直接进行角色分配,点击 保存 按钮,完成角色修改。

小tips:找不到用户怎么办?
直接在搜索框内输入用户名或昵称,回车一下就搞定啦~

注:角色权限列表

角色 权限 层级
平台管理员 菜单管理、角色管理、用户管理(初始化导入)、角色分配(组织层)及除服务发布之外所有功能 系统层
项目创建者 用户管理、项目管理、环境管理、用户组管理 组织层
部署管理员 资源管理、网关管理、域名管理、服务管理、服务部署、部署详情(阶段及日志)、设置自动部署 组织层
项目所有者 角色分配(所在项目下)服务创建、服务详情查看、分支管理、服务版本、代码质量查看、服务发布、设置自动发布 项目层
源代码管理员 服务创建、服务详情查看、分支管理、服务版本、代码质量查看、服务发布 项目层
项目成员 服务详情查看、分支管理、服务版本、代码质量查看、服务发布 项目层
看板项目所有者 故事管理、冲刺管理、任务和缺陷 项目层
看板成员 故事管理、冲刺管理、任务和缺陷 项目层
开发监控查看者 全流程信息监控查看 项目层

删除角色

  1. 点击 删除

  2. 点击 删除 ,用户从该组织/项目移除成功。

项目管理

  • 菜单层次:组织层
  • 菜单路径:IAM > 项目。

根据企业产品研发情况拆分团队,建议采用敏捷项目管理团队为一个项目单位,项目管理可以提供项目创建、项目查询、项目编辑等功能。

新建项目

  1. 点击 创建 按钮。

  2. 输入 “项目编码” 和 “项目名称” ,点击 创建 按钮。

  3. 新建项目 “演示0131” 已在项目管理列表中, gitlab自动对应生成group “演示0131”

编辑项目信息

  1. 点击 编辑 ,进入项目编辑界面。

  2. “项目名称” 进行修改,点击 保存 按钮。

禁用/启用项目

点击 禁用 ,项目禁用后,该项目下的其他操作将无法进行。。

启用项目

点击启用,启用后,该项目恢复正常使用。

环境管理

  • 菜单层次:组织层/项目层
  • 菜单路径:开发管理 > 环境。

面向平台管理员和项目创建者,根据用途的不同配置相对应的环境信息。可以创建环境,删除环境,及对环境详情信息进行编辑修改。
常见环境包含:测试环境,UAT环境及正式环境等。

创建环境

  1. 点击 创建 按钮。

  2. 输入 “环境名称” 、 “环境地址” 以及 “环境密钥” ,点击 测试连接 ,若环境地址、秘钥配置正确,会提示“连接成功”;若看到提示信息为“连接失败”,请修改为正确的环境地址或秘钥,点击 创建 按钮。

编辑环境信息

  1. 点击 编辑 ,进入环境编辑界面。

  2. 对环境信息进行修改,如环境名称,点击 保存 按钮,修改完成。

  3. “环境名称” 修改完成。

停用环境

  1. 点击 停用

  2. 环境 “Charlietest” 已停用,停用后,该环境将不可使用。

环境启用

  1. 点击 启用

  2. 环境 “Charlietest” 已启用,启用后,该环境可正常使用。

环境删除

  1. 点击 删除

  2. 再次确认,点击 删除

用户组管理

  • 菜单层次:组织层
  • 菜单路径:用户管理 > 用户组。

创建用户组

点击 创建 ,输入 “用户组编码” , “用户组名” ,“用户组描述” ,点击 创建 ,用户组创建完成。

编辑用户组

  1. 点击 编辑

  2. 修改用户组信息,点击 编辑

添加用户组用户

  1. 点击 添加用户

  2. 点击 添加 ,勾选需要添加到该用户组的用户。

删除用户组

点击 删除 ,删除当前用户组。

1. 敏捷管理

1.1. 故事地图

  • 菜单层次:组织层。
  • 菜单路径:项目>敏捷管理>用户故事>故事地图。

在开规划会议之前,用户可以按照角色,活动,任务分类来规划roadmap,整理用户故事,记录的用户故事将会被同步到gitlab的issue上,项目干系人可以在issue下放进行评论,对用户故事展开讨论。

1.1.1. 使用故事地图

  1. 添加角色

    角色:提出用户需求的人或者用户需求是基于哪类用户考虑的。例如敏捷开发有三种角色,po,master和项目开发人员。

    点击<创建角色>鼠标光标会变为"加号",当出现"加号"图标时,用户在角色这一行任意位置单击,即可添加角色。

    添加角色

  2. 添加活动

    活动:基于某一个角色下,具体的用户场景。
    点击<创建活动>鼠标光标会变为"加号",当出现"加号"图标时,用户在活动这一行任意位置单击,即可添加活动。

  3. 添加任务

    任务:用户场景的细化。

    点击<创建任务>鼠标光标会变为"加号",当出现"加号"图标时,用户在任务这一行任意位置单击,即可添加任务。

  1. 创建发布计划

    点击<创建发布计划>,即可在用户故事地图上面生成对应的发布计划,依次默认命名为发布计划1,发布计划2.....,如果想修改发布计划名称或者删除发布计划,点击发布计划名称旁边的三点符号,可进行修改或者删除。处于安全考虑,已经有用户故事的发布计划,需要先删除里面的用户故事,才能删除整个发布计划

![修改或删除发布计划](http://upload-images.jianshu.io/upload_images/10538228-61c32369ecdc68d9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
  1. 创建卡片

    在故事地图界面移动鼠标,见到卡片创建的提示时,点击提示卡中间的文字部分,也可以创建相应的卡片,比如角色,活动,任务,用户故事。

    用户故事:具体的需求。

    创建活动

    创建任务

    创建用户故事

1.1.2. 故事地图工具栏介绍

  1. 未规划区的使用

    点击<未规划区>,会出现一个侧边栏,如下图所示,在侧边栏中会放入您在其他界面创建的未选择发布计划的故事,比如您在用户故事界面创建了一个未选择发布计划的用户故事,就会以一张故事卡的形式出现在此处,顶部的搜索和过滤可以进行高级搜索,找到您想要的卡片,您考虑好此故事放在哪个发布计划下比较合适时,也可以拖动到具体的发布计划下。

    未规划区入口

    未规划区展开界面

  1. 数据统计

    此项目下的数据进度的分析,可一键从此入口进入,也可去数据洞察界面选择具体项目查看。

    数据统计

    数据分析结果展示

  1. 导出为图片

    点击<导出为图片>,即可把当前的地图以图片形式保存下来,导出格式为png。

    导出为图片

  1. 放大缩小

    点击放大搜索标志,或者拖动放大缩小的滚动条,都可完成整个地图的放大缩小。

![放大缩小](http://upload-images.jianshu.io/upload_images/10538228-91d4a5b333033006.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

1.2. 用户故事

  • 菜单层次:组织层。
  • 菜单路径:项目>敏捷管理>用户故事>用户故事。

用户故事界面是用户故事界面的列表展现形式,在这里可以集中查看您创建的所有的用户故事,以及其下的任务缺陷等,方便快捷。

1.2.1. 用户故事界面功能详解

  1. 创建故事

    点击<创建故事>,出现详情信息编辑的窗口,在窗口中进行编辑,编辑完成之后点击保存。

    创建故事

  1. 高级搜索

    点击<过滤>可以进行高级搜索

    过滤

  1. 操作
  • 删除

    未进入冲刺的用户故事可以删除。

  • 快捷创建任务

    可以快捷创建用户故事下面的任务。

  • 快捷创建缺陷

    可以快捷创建用户故事下面的缺陷。

    操作

1.3. 冲刺

  • 菜单层次:组织层。
  • 菜单路径:项目>敏捷管理>冲刺和看板>冲刺。

在冲刺中,可方便为您管理一个迭代周期内要完成的故事,并为您进行后台数据监测,可视化故事完成的情况,冲刺作为用户故事地图和看板的衔接环节,开启冲刺之后才能使用看板的全部功能。

1.3.1. 冲刺界面功能详解

  1. 创建冲刺

    点击<创建冲刺>,选择发布计划和预计的冲刺起止时间,即可创建一个新的冲刺。

    image.png

  1. 搜索

    可以在工具栏进行搜索。

    搜索

  2. 操作

    • 删除

      可以删除这个冲刺。

    • 状态切换

      可以快捷开启或者关闭冲刺,完成状态切换。

    • 编辑

      可以修改冲刺的具体信息。

    操作

  1. 进入冲刺详情

    点击冲刺的名称,即可进入冲刺详情。

    • 开启/关闭冲刺

      点击<开启冲刺>可开启当前冲刺,开启之后,数据洞察就开始记录当前冲刺的数据。冲刺内添加的故事也会自动导入看板中,并放在第一列。
      点击<关闭冲刺>可关闭当前冲刺,关闭之后不能再开启。

    • 添加故事

      选择故事来源,从故事地图,或者未规划的故事中,勾选需要导入的故事,点击确定,添加到冲刺中,添加进冲刺的故事,在故事地图界面的颜色会与没有导入冲刺的颜色有一个变化。

    • 创建任务

      可以创建进入到冲刺中的用户故事下的具体任务。

    • 创建缺陷

      可以创建用户故事下或者任务下测试出现的bug。

    冲刺详情

    • 筛选

      可以对故事,任务和缺陷进行分类筛选。

      筛选

    • 操作

      可以把导入冲刺的故事移除,移除后不会在故事地图里面删除,只是故事地图中的卡片颜色会变为未导入状态。也可以导入到其他冲刺中。

    操作

1.4. 看板

  • 菜单层次:组织层。
  • 菜单路径:项目>敏捷管理>冲刺和看板>看板。

开启冲刺之后才能使用看板的全部功能。看板可以取代物理看板,也可以可视化您的工作流,同时后台会记录所以操作的时间数据,帮您完成数据分析和记录工作。

1.4.1. 看板管理界面功能详解

  1. 选择模板

    进入看板之后,先根据您的需要,选择一个看板模板,单击某个模板,可查看详情,双击就会为您选择当前模板并打开,看板界面没有卡片时,您也可以更换模板。

    看板模板

    模板详情

  2. 使用看板

    进入看板之后,您在当前开启的冲刺中添加的故事,会自动为您导入到当前看板,并放在SprintBacklog里面(第一列)

    • 创建卡片

    点击<创建卡片>,出现卡片详情编辑的窗口,选择卡片类型,故事,任务,缺陷,可创建对应类型的卡片,创建的卡片会同步到故事地图界面,放在当前发布计划的第一个角色的第一个任务列里。

    创建卡片

    卡片详情编辑界面

    • 看板绘制
  点击<看板绘制>进入看板编辑界面1)增加列2)绘制泳道3)增加/减少列高4)撤销/恢复5)保存6)在制品和起始列设置![看板绘制 ](http://upload-images.jianshu.io/upload_images/10538228-65b8ce2c5b32e016.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)  - 拖动故事卡
- 故事卡的子卡(任务卡/bug卡)的操作

1.5. 任务

  • 菜单层次:组织层。
  • 菜单路径:项目>敏捷管理>任务和漏洞>任务。

可以查看您创建的所有任务,可视化您的任务流,同时后台会记录所以操作的时间数据,帮您完成数据分析和记录工作。

1.5.1. 任务管理界面功能详解

  • 查看任务

    在任务界面,您可以查看您所有创建的任务,并且可以高级搜索您要找的任务。

  • 操作

    可以在<操作>中完成删除,快捷创建缺陷的快捷操作

    任务

1.6. 漏洞

  • 菜单层次:组织层。
  • 菜单路径:项目>敏捷管理>任务和漏洞>漏洞。

可以查看您创建的所有漏洞。

1.6.1. 漏洞管理界面功能详解

  • 查看缺陷

    在任务界面,您可以查看您所有创建的缺陷,并且可以高级搜索您要找的缺陷。

  • 操作

    可以在<操作>中完成删除缺陷。

漏洞

持续集成

3.1服务创建

  • 菜单层次:项目层
  • 菜单路径:开发管理 > 服务

每一个微服务都可以独立部署,每一个微服务仅关注于完成一件任务,每个任务代表一个小的业务模块,各微服务之间关系是松耦合的。
(备注:每创建一个服务,会自动在gitlab创建好对应服务类型的代码库。)

服务类型

微服务:微服务后端,可以定义依赖的资源和服务,部署时需配置网关。

Web前端:微服务前端,部署时需配置域名。

移动:移动端应用开发使用,部署流程与其他类型不同。

普通应用:非微服务架构的服务类型,如HAP、HBI等,一个系统一个服务。

Java库:管理Java工具包。

服务组

区分服务的开发来源,创建服务时需做标识。

暂按如下设置。

项目名称 项目编码 服务组
HAPCloud hapcloud com.hand.hapcloud
DevOps devops com.hand.devops
智能洞察 insight com.hand.insight
敏捷看板 kanban com.hand.kanban
移动应用 mobile com.hand.mobile
应用框架 hap com.hand.hap
云维开发 cloopm com.hand.cloopm

新建服务

  1. 点击 创建 按钮。

  2. 输入 “服务编码” 、 “服务名称” 、以及 “服务组” ,并选择相应服务类型,点击 创建 按钮。

  3. 新建服务 “微服务0201” 已在服务管理列表中。

  4. gitlab已自动创建好对应服务类型的代码库 “webservice” 。点击 仓库地址 ,可以查看该服务在gitlab的代码仓库。

服务停用

点击 停用,如: “微服务0201” 已停用,服务详情不可查看。

服务启用

点击 启用 ,如: “微服务0201” 已启用,可对该服务进行相关操作。

分支管理

  • 菜单层次: 项目层
  • 菜单路径: 开发管理 > 服务详情

git flow 工作流模式,自动创建 Git Flow 模式所特有的流水线分支。
在持续交付过程中对 featurereleasehotfix 等分支进行管理。

分支类型

  1. Feature:
    适用于日常开发、bug 修复,基于开发分支生成,完成时合并至开发分支。
  2. Release:
    适用于产品发布、产品迭代,基于开发分支生成,完成时合并至主分支和开发分支,并打上标签。
  3. Hotfix:
    适用于产品发布后修复bug,基于主分支生成,完成时先合并至主分支和开发分支,并打上标签。

默认分支

Develop: 日常开发分支。
Master: 版本发布分支。

使用流程

GitFlow 使用流程

新建分支

新建 Feature 分支

  1. 点击创建Feature按钮。

    创建 Feature 示意

  2. 输入 Issue 编码。

    输入 issue 编码示意图

  3. 点击保存按钮。

    点击保存示意

新建 Release/Hotfix 分支

  1. 点击 创建Release 按钮(或 创建Hotfix 按钮)创建对应分支。

    创建 Release/Hotfix 分支按钮示意

  2. 输入分支名称。

    Release 分支创建时会自动生成下一个版本号,也可以手动输入需要的版本号。(版本号由三个数字组成,中间以小数点间隔。如:1.1.0
    Release 版本号默认为末位清零,中间一位进一)。

    Hotfix 分支建议填写 Issue 编号作为分支名,也可以手动输入需要的版本号。填写 Issue 编号在结束分支时会提示以最新 release 小版本加一作为版本号。

    Release 分支版本号示意

  3. 点击确定按钮。

    创建 Release/Hotfix 分支确定示意

    注: 无提交时点击结束分支,将不创建合并请求,直接删除。新建分支及结束分支只能在平台界面进行操作,请勿随意在gitlab界面创建合并请求和删除分支。

分支管理步骤

  1. 克隆代码到本地

    # 在存放代码的文件夹下执行以下命令
    git clone http://git.saas.hand-china.com/devops/hap-devops-service.git
    # 拉取远程仓库成功后进入仓库
    cd hap-devops-service
    
  2. 拉取最新代码和新建的分支

    git pull
    
  3. 切换到分支

    # 切换到新建分支,以 feature-2 为例
    git checkout feature-2
    
  4. 开发

    根据分支对应的 Issue 需求修改代码。
    完成后详细检查本地代码改动。

  5. 提交代码

    # 将本地代码变动提交到暂存区
    git add .
    # 提交代码并且为本次提交添加 commit 信息
    # 注:[FIX]修改bug  [ADD]新增  [IMP]完善  [DEL]删除
    $ git commit –m “[ADD]readme: 新增代码示例”
    # 将本地提交推送至远程仓库对应分支
    $ git push origin feature-2:feature-2
    
  6. 界面操作结束分支

3.2.6 解决分支冲突

3.2.6.1 Feature 分支冲突

常见两种解决冲突的方式如下

  • 本地修改代码解决:

    # 确保当前正在 Feature 分支上,以 feature-2 为例
    git checkout feature-2
    # 拉取最新远程仓库 develop 分支代码
    git fetch origin develop:develop
    # 将 Feature 分支重新设立起点于最新的 develop 代码
    git rebase develop
    

    执行完 rebase 操作后,会产生对应的冲突,解决冲突后执行如下代码。

    git add .
    git rebase --continue
    

    根据本次 Feature 分支上提交次数的不同,解决冲突可能会重复多次,只需要重复执行上述解决冲突操作。
    完成后强制提交至远程仓库。

    git push -f origin feature-2:feature-2
    
  • 界面解决冲突(不建议):

    GitLab 对应的合并请求界面点击 Solve conficts 按钮。

Release&Hotfix 分支冲突

当分支对于 developmaster 分支中任意一个或以上存在冲突时,会提示当前存在冲突,以及建议做法。

若此时继续点击确定按钮,并且没有解决冲突,那么会提示分支冲突,无法继续操作。解决冲突具体步骤可查看界面提示,说明如下:

  1. 只有对应 develop 的合并请求存在冲突,按界面提示解决冲突会导致分支对应 develop 分支的合并请求被合并。此时再进行结束分支操作,会处理分支对 master 的合并请求,然后生成对应版本号的 Tag 并删除分支。

  2. 只有对应 master 的合并请求存在冲突,按界面提示解决冲突会导致分支对应 master 分支的合并请求被合并。此时再进行结束分支操作,会处理分支对 develop 的合并请求,然后生成对应版本号的 Tag 并删除分支。

  3. 若分支对应 developmaster 分支的合并请求都存在冲突,按界面提示解决冲突会导致分支对应 developmaster 分支的合并请求依次都被合并。此时再进行结束分支操作,会生成对应版本号的 Tag 并删除分支。

服务版本

  • 菜单层次:项目层
  • 菜单路径:开发管理 > 服务详情

代码提交的历史记录,每提交一次修改后的代码,对应生成一个新的版本。

查看服务版本信息

  1. 进入服务详情后,点击 服务版本 页签。

  2. 查看服务版本信息。

查看流水线信息

  1. 进入服务详情后,点击 流水线 页签。

  2. 查看服务CI pipeline的完成情况。

    注:版本命名方式:合并至develop:develop. + 年月日时分秒。

    Tag生成:版本号(三位号码,如:1.1.0。release修改前两位,hotfix修改第三位)。
    提交:每次提交代码的操作,自动生成Commit ID,由于字数多,平时多取前八位。

查看代码质量情况

可在服务详情-代码质量查看。面向团队成员,反馈代码质量信息,按照相应的代码规范及标准在线进行代码静态检查、代码安全检查、质量评分、代码缺陷改进趋势分析,辅助管控代码质量。

服务详情-代码质量:只看该服务下经单元测试后的代码质量情况。

注:可从开发监控了解项目整体及DevOps全链路各个环节进展情况。

服务发布

服务发布

  • 菜单层次:项目层
  • 菜单路径:开发管理 > 发布

面向发布管理员,提供服务发布至不同环境的功能,向目标环境传输部署文件,同时附带服务版本信息以便追踪。

  1. 点击 发布

  2. 关键字搜索或直接从从下拉列表中选择部署文件发布的环境。

  3. 点击 保存

  4. 该服务部署文件已成功发布在开发或正式环境。

自动发布

  • 菜单层次:项目层
  • 菜单路径:开发管理 > 服务
  1. 项目所有者可以设置服务 “自动发布” 。

  2. 可以选择一个或多个环境。

  3. 点击 保存 ,版本生成会自动发布部署文件至所选环境。

    注:自动发布仅针对于开发环境,正式环境需手动发布。

持续部署

资源管理

  • 菜单层次:组织层
  • 菜单路径:部署服务 > 资源管理

定义部署时需要使用的资源。
目前支持五种:mysql、redis、rebbitmq、kafka、url。

新建资源

  1. 点击 创建 ,输入 “名称” 、 “描述” 以及选择资源类型,例如mysql。

  2. 输入资源相关信息,点击 创建

  3. 新建资源 “hap-devops-test” 已在资源管理列表中。

资源编辑

  1. 点击 编辑 ,修改资源信息,点击 保存

  2. 点击 “资源名称” ,查看资源详情。

资源删除

  1. 点击 删除

  2. 再次确认,点击 删除

网关管理

  • 菜单层次:组织层
  • 菜单路径:部署服务 > 资源管理

为所选的微服务将网关信息注册至微服务管理服务,支持删除其对应网关。
注:服务可以访问的两个必要条件:网关注册、服务部署。

新建网关

  1. 点击 创建 ,选择需要配置网关的服务,如 “webservice0131” ,点击 创建

  2. 服务 “webservice0131” 的网关已在网关管理列表中。

网关删除

  1. 点击 删除

  2. 再次确认,点击 删除

域名管理

  • 菜单层次:组织层
  • 菜单路径:部署服务 > 资源管理

为相应的服务创建可访问域名并可对其进行修改,域名后缀为运行区域名后缀,如运行区域名
注:目前Web前端普通应用需配置域名,若不配置域名,不能进行外网访问该前端,只能查看系统提供的pod ip。

新建域名

  1. 点击 创建 ,选择需要配置域名的服务,并输入 “域名” ,点击 创建

  2. 服务 “webfront0131” 的域名已在域名管理列表中。

编辑域名信息

  1. 点击 编辑

  2. 修改域名信息,点击保存 ,域名修改完成。。

删除域名

  1. 点击删除

  2. 再次确认,点击删除

服务部署

  • 菜单层次:组织层
  • 菜单路径:部署管理 > 服务

提供可视化、一键式部署服务,支持并行部署和流水线无缝集成,实现部署环境标准化和部署过程自动化。

查看服务列表

点击 部署管理 ,点击 服务 ,查看服务列表。

查看服务版本列表

  1. 点击详情

  2. 查看该服务历史版本信息。

查看部署文件

点击查看部署文件,查看部署文件信息。

服务部署

  1. 在服务列表中找到要部署的服务,点击详情,例如webservice0131。

  2. 选择要发布的版本,点击部署服务

  3. 进行资源选择和变量填写,点击部署

查看运行中的服务

  1. 点击详情

  2. 可在运行中查看正在部署/运行的版本,以及对容器数量进行调整。

  3. 点击详情,查看服务部署阶段和详情信息。

    注:不同服务类型,部署阶段不同。

查看容器组列表

点击容器组页签,查看容器组列表。

查看容器组日志

点击容器组日志进行相关日志查看。

灰度部署

用于保障系统稳定,验证某服务版本是否正常使用,验证正常后再转为正式部署。

支持Web前端、普通应用类型的服务使用自动生成域名的方式进行灰度部署;支持微服务类型的服务使用选择不同用户组的方式进行灰度部署。

  1. 在服务列表中找到要部署的服务,点击 详情 ,例如webservice0131。

  2. 选择要灰度部署的版本,点击 部署服务

  3. 进行资源选择和变量填写,勾选灰度发布,选择用户组,如devops,点击 部署

  4. 可在运行中查看该版本正在进行灰度部署。

自动部署

  1. 部署管理员可以设置“自动部署”。

  2. 版本发布到运行区将会自动部署。

    注:自动部署仅针对于正式部署。

查看服务运行历史

点击 运行历史 ,查看部署失败或部署停止的服务版本。

洞察监控

开发监控

综述

  1. 计划完成率:已完成状态的用户故事除以总的用户故事。

  2. 变更时长:类型为变更的用户故事完成的平均时长。

  3. 变更为完成率:类型为变更的用户故事的完成率。

  4. 问题平均处理时长:类型为BUG的用户故事平均处理时长。

概况

  1. DevOps流程状态:显示项目从计划、编程、构建、质量、发布整个流程的状态。

  2. 服务列表:项目下所有服务列表包含名字和git地址。

  3. 项目成员列表:项目下所有成员列表包含提交频率、构建频率、角色等。

  4. 最新动态:项目下最新的成员的操作动态。

计划

  1. 发布信息:用户故事、已经计划用户故事、正在进行用户故事、已经完成用户故事、总发布数。

  2. 冲刺信息:已开启冲刺进度、已开启冲刺下的任务完成进度、用户故事:已开启冲刺的用户故事总数、任务总数缺陷总数。

  3. 平均用户故事点:冲刺的平均用户故事点。

  4. 平均工时:冲刺的平均工时。

  5. 用户故事来源分布图:用户故事来源分布饼图。

  6. 用户故事状态分布图:用户故事完成和未完成状态的分布图。

  7. 缺陷堆叠图:缺陷按照冲刺分类型的堆叠图。

  8. 缺陷累计分布图:缺陷类型分布饼图。

  9. 燃尽图:冲刺的工时燃尽图。

  10. 累计流图:冲刺的用户故事的累计流图。

编程

  1. 合并总数:统计merge request的请求总数。

  2. 提交总数:push的总数。

  3. 提交总频率:push的总数除以天数不含周末。

  4. 提交频率:最近14天的提交数除以天数不含周末。

  5. 活跃开发人员:每周提交三次以上。

  6. 本周提交数

  7. 提交次数图

  8. 人员提交次数图

  9. 提交历史

构建

  1. 构建总数:pipeline的总数。

  2. 总构建频率:构建总数除以天数不包含周末。

  3. 构建频率:最近14天的构建数除以天数不包含周末。

  4. 构建平均时长: pipeline的平均时长。

  5. 构建成功率: pipeline的成功率。

  6. 本周构建成功率(近7天构建成功率。

  7. 构建次数图

  8. 人员构建次数图

  9. 构建历史

质量

Sonar的数据

发布

  1. 发布计划名

  2. 发布计划完成进度条

  3. 本发布计划已完成故事数

  4. 本发布计划故事总数

  5. 用户故事列表:编号、标题、状态、创建时间等

运营监控

MicroServices(5)---DevOps用户手册相关推荐

  1. DevOps \u0026 SRE 必备技能清单

    导读 \\ 这个列表并非详尽无遗,只是列举了技术基础.必须知道的技能和一些随机的想法.可以用它们作为一个清单来评估你自己或其他人,或者为下一次面试DevOps/SRE(Site Reliability ...

  2. 为什么大厂都用DevOps呢?我来告诉你

    目前很多大厂如阿里.腾讯.百度.头条.滴滴.美团等公司内部都在做DevOps,那么 DevOps是什么 ? 为什么大厂都对其趋之若鹜 ? DevOps到底应该怎么做 ?刚好我也负责我们公司的DevOp ...

  3. eureka跨服务_微服务(microservices) 资料总结

    微服务是商业应用程序开发中最热门的新事物.微服务这个词取代了敏捷.DevOps和RESTful,成为了所有简历和大会演讲中都必须提及的新热门词. 微服务这一概念出现于2012年,因敏捷开发方法创始人之 ...

  4. 微服务(Microservices)和服务网格(Service Mesh)架构概念整理

    微服务(Microservices) 在过去的 2016 年和 2017 年,微服务技术迅猛普及,和容器技术一起成为这两年中最吸引眼球的技术热点.而以 Spring Cloud 为代表的传统侵入式开发 ...

  5. 【转】DevOps到底是什么意思?

    提到DevOps这个词,我相信很多人一定不会陌生. 作为一个热门的概念,DevOps近年来频频出现在各大技术社区和媒体的文章中,备受行业大咖的追捧,也吸引了很多吃瓜群众的围观. 那么,DevOps是什 ...

  6. DevOps到底是什么意思?

    戳蓝字"CSDN云计算"关注我们哦! 作者 | 小枣君 责编|阿秃 提到DevOps这个词,我相信很多人一定不会陌生. 作为一个热门的概念,DevOps近年来频频出现在各大技术社区 ...

  7. DevOps组织如何有效地实施MSA

    [摘要] 对于任何企业,MSA的实施都不能一蹴而就.企业在实施MSA的过程中应该避免教条主义.理想化.低估必需的投资.边学习新流程边变更架构.担忧失败等风险与陷阱.企业可以在MSA实施指导框架的指引下 ...

  8. 大咖专栏 | DevOps组织如何有效地实施MSA

    [摘要] 对于任何企业,MSA的实施都不能一蹴而就.企业在实施MSA的过程中应该避免教条主义.理想化.低估必需的投资.边学习新流程边变更架构.担忧失败等风险与陷阱.企业可以在MSA实施指导框架的指引下 ...

  9. DevOps读书清单:十本应该放入书架的经典

    DevOps为企业生产带来了质的飞越,通过整合 IT 开发.运维.支持和管理等大幅提升生产效率.今天小数带来的十本 DevOps 经典著作,帮助大家深入研究 DevOps ,快把它们收入学习书架吧! ...

最新文章

  1. Anaconda安装包报错——UnavailableInvalidChannel: The channel is not accessible or is invalid
  2. Git学习笔记:分支管理(2)
  3. 初探DispatcherServlet#doDispatch
  4. POJ 2142——扩展欧几里得
  5. 前端学习(2406):反馈
  6. 表单提交连续点击html,通过提交“点击”触发器提交两次HTML表单
  7. 开发手记之实现web.config的快速配置(转载)
  8. 厦门one_理想ONE真是“500万内最好的车”?
  9. python高效办公_Python高效办公|自动分发任务
  10. [翻译] GiFHUD
  11. 格力电器董事长选举,董明珠当选的可能性极大
  12. 《皇帝内经》养生法则
  13. python 已知平行四边形三个点,求第四个点
  14. ui设计现状与意义_UI设计师的前景与现状?
  15. QtCreator一键重命名
  16. android 设置音效EQ
  17. 数字图像处理之图像锐化算法
  18. python3.6没有pip_python3.6 安装后没有pip?
  19. [二进制学习笔记]Ubuntu20.04关闭开启ASLR
  20. 热点的ap频段哪个快_AP频段2.4和5.0哪个好?有什么区别?

热门文章

  1. 【ACL2021】对话系统:情感、个性与主题转换
  2. 微信广告平台来了,是蜜糖还是毒药?
  3. Android 11 变更及适配攻略
  4. Python面向对象编程---多态
  5. 计算机教案在幻灯片中插入影片,小学六年级上册《在作品中插入“电影”片段》信息技术教案...
  6. 基于遗传算法的BP神经网络齿轮箱故障诊断实例
  7. aix 安装oracle smit install_latest,记录一次AIX 4.3.0+ORACLE 8.0.5恢复过程
  8. 复数,通往真理的最短路径
  9. python前n项和存为一个数组_python-将数组或DataFrame与其他信息一起保存在文件中...
  10. 旅行商问题的蚁群算法