当有多个开发人员参与项目时,通过Git进行分支和Tag管理,将软件的版本控制以及分支管理贯穿于整个软件产品的生命周期,能有效的避免代码冲突,提高开发效率。Choerodon 代码仓库就是基于 Git 进行代码版本管理。本文介绍了 Choerodon 猪齿鱼中开发应用服务的方法,包括创建分支、克隆、推拉代码、合并分支等。
开发应用服务
在Choerodon中开发应用服务之前,首先需确认已在Choerodon项目下创建应用服务,并配置了 Git,包括下载安装、设置等。
第一步:创建分支
Choerodon使用 GitLab 进行分支管理,默认分支为 master。目前支持六种常见的分支类型:
- master:主分支,用于版本持续发布;
- feature:特性分支,用于日常开发时切出分支进行单功能开发;
- bugfix:故障修补分支,通常用于修复故障;
- release:发布分支,适用于产品发布、产品迭代;
- hotfix:热修分支,用于产品发布后修复缺陷;
- custom:自定义分支,用户可以自定义需要的分支类型。
**注:**bugfix旨在与敏捷的问题类型(故障)呼应,用于标识此分支的任务是修复某个故障
这里我们以 Feature 分支为例,在Choerodon中进行分支创建。
-
在 代码管理 -> 分支 界面,选择应用服务
猪齿鱼Todo服务
; -
点击
创建分支
,如果没有issue
可选择,则先创建问题, 选择对应的issue; -
分支来源选择master,填写issue号,如
feature-1
,点击创建,即可创建一个分支;例如,
- 问题名称: choerodon-dev-1 猪齿鱼快速入门文档
- 分支来源: master
- 分支类型: feature
- 分支名称: feature-choerodon-dev-1
-
创建完分支之后,您就可以进行后续的本地开发。
Choerodon 采用 githubflow作为我们的分支管理策略的主体。并在此基础上,参考了一些其他策略,对开发者的开发分支做了一定程度上的细分。更多相关信息参考分支管理。
第二步:拉取代码仓库
- 在
代码仓库
菜单,找到猪齿鱼Todo服务
的仓库地址,复制仓库地址; - 本地通过git 命令拉取生成的项目代码;
- 切换到对应分支进行本地开发。
$ git clone `仓库地址`
$ cd ./choerodon-todo-servie
$ git checkout feature-choerodon-dev-1
克隆代码时候,会让输入用户名,密码。用户名为平台用户名,密码为用户新建后收到的站内信中的Gitlab仓库密码,若忘记密码,可以到个人信息页面重置GitLab仓库密码。
第三步:本地开发
将代码克隆到本地后,就可以在本地进行开发。
通过Choerodon 提供的MicroService 应用服务模板,会生成一个极简单的spring boot 应用服务。模板本身生成的应用服务可以直接运行在平台上,如需拓展更多功能,可具体参考后端开发手册。
第四步:提交代码
当本地做了相关修改之后,需要将本地仓库的代码提交到远程分支上。提交的用户名密码同克隆代码库的一样。
$ git add .
$ git commit -m "[ADD] init todo-service"
$ git push origin feature-choerodon-dev-1
提交时需要遵循Choerodon 的规范:
- [IMP] 提升改善正在开发或者已经实现的功能
- [FIX] 修正BUG
- [REF] 重构一个功能,对功能重写
- [ADD] 添加实现新功能
- [REM] 删除不需要的文件
第五步:代码集成
当代码提交到服务器之后,可以在页面查看持续集成。
- 在代码管理 -> 持续集成 页面,选择应用服务
猪齿鱼Todo服务
; - 点击阶段跳转到Gitlab 查看 CI 执行情况。
第六步:合并分支
当 CI 执行通过以后,可以将feature分支合并到master分支上。
- 在代码管理 -> 合并请求 页面,选择应用服务
猪齿鱼Todo服务
; - 点击创建合并请求,跳转到Gitlab;
- 分别选择源分支为
feature-choerodon-dev-1
,目标分支为master,并提交合并请求。等待ci流水线通过后,点击合并分支。
当master
分支的ci流水线 通过以后,在应用服务 -> 点击应用服务 猪齿鱼Todo服务
,便能在”服务版本“Tab页中看到猪齿鱼Todo服务
生成的版本。此处的版本会用于后续的部署操作。若想了解更多Choerodon猪齿鱼版本相关的内容,可参考《Choerodon猪齿鱼实践之持续交付中的分支管理与版本控制》。
总结
以上就是使用Choerodon开发应用服务的全部流程,应用服务的开发过程也可以说是代码管理的过程,支持着团队的协作开发与持续集成,保证项目的进度和效率。
关于猪齿鱼
Choerodon 猪齿鱼作为开源多云应用敏捷全链路技术平台,是基于开源技术Kubernetes,Istio,knative,Gitlab,Spring Cloud来实现本地和云端环境的集成,实现企业多云/混合云应用环境的一致性。平台通过提供精益敏捷、持续交付、容器环境、微服务、DevOps等能力来帮助组织团队来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。
更加详细的内容,请参阅Release Notes和官网。
大家也可以通过以下社区途径了解猪齿鱼的最新动态、产品特性,以及参与社区贡献:
欢迎加入Choerodon猪齿鱼社区,共同为企业数字化服务打造一个开放的生态平台。
来源:oschina
链接:https://my.oschina.net/choerodon/blog/4383019