abapGit分支策略

诸君ABAP公民们、尤其是使用abapGit的诸位,你们好。

自己的团队和本人将向我们享受我小卖部内引入abapGit后发出的某些开发难点。我所在的公司是一家创作SAP第三方软件的商号,近来主要运用ABAP和UI5。

正文专门针对ABAP方面。

 

先是,大家爱abapGit,相信你们中的很多也是一样…

亚洲必赢bwin696.com 1

GitHub repository

俺们的git仓库使用GitLab托管在地点,有着各类用户本人的表征。

俺们起码天天push四回大家的commit,生成版本(能够说是一个外加的备份层)。

亚洲必赢bwin696.com,透过利用GitLabs的代码审查效率,也使代码审查变得不难了不计其数。

俺们近来评估了应用分支的或许性,得出的定论是:我们无法在现有的底子设备之上使用它。

本文的结余部分将研究如何运用abapGit达成分支。

 

正文链接:http://www.cnblogs.com/hhelibeb/p/7754487.html

英文原稿:abapGit Branching Strategy
Discussion

场景1:无分支

那就是我们今日的干活措施。所有开发者在相同的SAP系统和代码基础(code
base)上行事,所有人都push代码到主“分支”上。

亚洲必赢bwin696.com 2

优势

  • 更好的代码版本控制
  • 简单进行代码审查

劣势

  • 分段是不可以的,开发者同时在同一的代码基础上修修改改对象
    • 切换分支时,会转移种种开发者的代码基础,即便他们或然会认为自身还在她们的支行上
  • 代码会因为其余人的题材commit出错
    • 甲修改了目的A,乙后来也修改了它
      甲在不晓得乙修改过A的情形下举行了commit
    • 没错,举行末段一个修改的人可以在abapGit工作台上边看到那些,可是,你照样有恐怕没来看它。

场景2:使用分支

不大概及时使用分支的根本原因在于,所有开发者使用同样的代码基础。开发者没有隔离他们同事的代码修改行为。

由此,完结真正分支的首先步就是,分割各种开发者的支出条件。那表示,各个开发者要有她协调的SAP系统来展开销付。

那带给大家率先个完全的不利条件:

  • 开发者数量的增多推动的一表非凡的维护费用。

Local VMs

俺们的第二个想法是,为何不在开发者的机器上虚拟化运行SAP系统吧?

开发者在进行一项使命时,可以push到她们的道岔当中,直到它们创设一个merge
request。

主开发连串(DEV)只从主分支拉取,主分支只包罗被认可的merge request。

亚洲必赢bwin696.com 3

优势

  • 连接到你的SAP系统时,不须要网络接口
  • 您可以在不总是公司网络的意况下支付
    • 只必要在push代码到git仓库的时候才需求一而再集团网络
  • 在SSD下边运行SAP系统真的快极了

劣势

  • 高爱护费用
    • 社团者对机器的操纵相比难
  • 开发者须求明白什么开启/关闭他们的虚拟机/SAP系统
    • 依然恐怕需要他们友善定时备份虚拟机    

 

少数总体难题也打击了大家:

提拔开发者的SAP系统

  • 哪些给系统打补丁(协助包,notes,系统级补丁)?
  • 当须求拿到定制数据、主数据和工作数据来开发新脾气、再现bug并且修复时,要如何拿到它们?

进步主开发SAP系统

  • 什么样处理abapGit不或然系列化的支出目的?
  • 当要求拿到定制数据、主数据和事情数据来开发新特性、再现bug并且修复时,主开发种类要什么样得到它们?
  • 从主分支拉取代码后,要什么处理开发目的以把它们分配到非常的传输请求之上?
    • 或是你有个复杂的传导规则以救助代码复用。我们就是这么。

您还亟需一个方针来应对以下难题:

  • 为不能连串化的靶子单独维护和配置以及单独地导入定制和工作台传输
    • 听起来像一团糟
  • 开发连串的复制(只复制SAP)
    • 只是为了给您定制数据
  • 克隆主开发系列运转的虚拟机(OS+SAP)
    • 再者重命名SID和全称域名(Full Qualified Domain
      Name),否则你会遇见互连网难题
  • …… 

而且,更新的效用是?

  • 按需
  • 在开创一个新分支前
  • 在一个新的颁发循环起来的时候
  • ……

Hosted VMs

晋级看起来是个大题材,恐怕并非一个当地虚拟机、而是利用托管虚拟机会更好。

这样的话,无论使用何种政策来更新,都足以更自在地实践。

亚洲必赢bwin696.com 4

优势:

  • 社团者可以在其它时刻拜访机器

劣势:

  • 运转开发虚拟机带来的托管资金

结论

就此,举行这一体的亮点是何等?

俺们的眼光是:

  • 的确的支行成为或许,编码时不干涉其他开发者
  • 是因为merge request和五个commit的组合,特别便宜代码审查
  • 对五个发行版本的绝妙帮忙,容易切换来一个发行分支上去
  • ……

值得为此做出过多的极力吧?

咱俩的团体并不知道答案。系统一同带来的老本,看起来是宏伟的。

在那一点上大家感觉到不舒服,因而转向社区,希望听到你们在那个话题上的的理念和经验。

 

分外谢谢,

André

 

参考文章:abapGit简介

 

 

 

相关文章