房地产公司abapGit分支策略

各位ABAP公民等、特别是利用abapGit的各位,你们好。

自身之团队以及本身将通往大家分享自己店内引入abapGit后产生的一些开发问题。我所于的公司是如出一辙家做SAP第三着软件之庄,目前任重而道远利用ABAP和UI5。

本文专门针对ABAP方面。

 

首先,我们爱abapGit,相信你们中之广大乎是一样…

房地产公司 1

GitHub repository

咱俩的git仓库使用GitLab托管在地面,有着各种用户自己之性状。

咱们足足每天push一涂鸦我们的commit,生成版本(可以说凡是一个外加的备份层)。

通过动GitLabs的代码审查功能,也如代码审查变得好了众。

俺们近年来评估了以分支的可能,得出的结论是:我们不克当存活的根底设备之上使用它们。

本文的剩余部分以探讨如何用abapGit实现分支。

 

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

英文原稿:abapGit Branching Strategy
Discussion

场景1:无分支

立即便是咱本底干活方式。所有开发者在同样的SAP系统以及代码基础(code
base)上行事,所有人且push代码到主“分支”上。

房地产公司 2

优势

  • 重新好之代码版本控制
  • 好进行代码审查

劣势

  • 分层是匪可能的,开发者同时在相同的代码基础及改动对象
    • 切换分支时,会改每个开发者的代码基础,虽然她们唯恐会当自己还在她们之支行上
  • 代码会因为其他人的题材commit出错
    • 甲修改了靶A,乙后来也改了她
      优等在不知情乙修改过A的状下展开了commit
    • 正确,进行末一个改动的丁得以于abapGit工作台上面看到此,但是,你依旧有或没见到它们。

场景2:使用分支

束手无策就用分支的根本原因在于,所有开发者使用相同的代码基础。开发者没有断他们同事的代码修改行为。

为此,实现真正分的第一步就是是,分割每个开发者的支付环境。这意味着,每个开发者要起他好的SAP系统来进展开发。

随即带来被我们首先单总体的不利条件:

  • 开发者数量之长拉动的昂扬的维护费用。

Local VMs

咱的率先个想法是,为什么未在开发者的机器及虚拟化运行SAP系统啊?

开发者在进行同样项任务时,可以push到他们的道岔中,直到她创建一个merge
request。

主开发体系(DEV)只于主分支拉取,主分支只包含被批准的merge request。

房地产公司 3

优势

  • 连续至公的SAP系统时,不欲网络接口
  • 若得以无总是公司网络的状下支付
    • 单纯待以push代码到git仓库的时才用连接公司网络
  • 当SSD上面运行SAP系统真的快极了

劣势

  • 高保护开销
    • 组织者对机械的操纵比较难以
  • 开发者需要知道什么被/关闭他们的虚拟机/SAP系统
    • 还可能要他们友善定时备份虚拟机    

 

少数总体问题吗打击了俺们:

晋级开发者的SAP系统

  • 安为系统打补丁(支持担保,notes,系统级补丁)?
  • 当得取定制数据、主数据和工作数据来开发新特点、重现bug并且修复时,要哪些获得其?

晋级主开发SAP系统

  • 什么处理abapGit不可知序列化的支出目标?
  • 当用取定制数据、主数据和事务数据来支付新特点、重现bug并且修复时,主开发体系如哪些获得她?
  • 自从主分支拉取代码后,要怎样处理开发目标为将她分配至当的导请求之上?
    • 或你发出只复杂的传导规则为扶植代码复用。我们就是这么。

汝还索要一个方针来应本着以下问题:

  • 呢无法序列化的对象单独维护和配备与单独地导入定制与工作台传输
    • 任起像相同团糟
  • 支付体系的复制(只复制SAP)
    • 偏偏是以吃你定制数据
  • 克隆主开发体系运行的虚拟机(OS+SAP)
    • 与此同时重命名SID和咸称域名(Full Qualified Domain
      Name),否则你见面逢网络问题
  • …… 

再者,更新的频率是?

  • 按需
  • 当创造一个新分支前
  • 每当一个新的发布循环开始之时光
  • ……

Hosted VMs

晋升看起是单特别题目,也许毫不一个当地虚拟机、而是采用托管虚拟机会更好。

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

房地产公司 4

优势:

  • 领队可以当旁时间访问机器

劣势:

  • 运行开发虚拟机带来的托管基金

结论

因此,进行当下整个的独到之处是啊?

咱的理念是:

  • 实在的道岔成可能,编码时无干预其它开发者
  • 由于merge request和多独commit的组成,更加有益代码审查
  • 对多单发行本的佳支持,容易切换到一个批发分支上去
  • ……

值得也这做出过多底卖力呢?

咱们的团伙并不知道答案。系统共带来的成本,看起是远大的。

在当时点达成我们感觉不好受,因此转向社区,希望听到你们当斯话题上之之意见以及涉。

 

非常感谢,

André

 

参考文章:abapGit简介

 

 

 

相关文章