云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

中间件_注册企业邮箱收费吗_怎么样

小七 141 0

大家好,请关注ABAP市民,特别是使用abapGit的市民。

我和我的团队正在联系您,讨论我们公司推出abapGit后出现的一些开发问题,大数据核心,该公司创建了SAP第三方软件,主要由ABAP和UI5代码组成。本文专门讨论ABAP方面。

首先,我们喜欢abapGit,我们相信很多人都喜欢…

GitHub存储库

我们的git存储库是在现场托管的,超级返利,并与GitLab进行了友好合作。

我们每天至少推送一次我们的承诺,它为我们提供了代码版本控制(可以说是额外的一层备份)。

它还通过使用GitLabs的代码审查功能使代码审查变得更加容易。

我们最近审查了使用分支的可能性,得出的结论是,我们不能在现有的基础设施中使用它。

本博客的其余部分将探讨如何使用abapGit实现分支。

场景1:没有分支

这就是我们当前的运行方式。所有使用相同代码库在同一SAP系统上工作的开发人员,大家都推到主"分支"。

更好的代码版本控制更容易的代码检查

Con

分支不可能,开发人员会同时更改同一代码库中的对象切换到分支,将改变每个开发人员的代码基础,尽管他们认为他们可能仍然在分支中。提交可能会通过其他开发人员产生缺陷dev1更改了对象A,dev2随后也更改了对象A。Dev 1提交时不知道Dev 2在对象A上引起的更改。是的,上一次修改的人会显示在abapGit的staging屏幕上,但您可能仍然看不到这一点。

场景2:使用分支

无法立即使用分支的根本原因是,所有开发人员都使用相同的活动代码库。开发人员不会被他们执行的代码更改所屏蔽。

因此第一个真正分支的strep必须是每个开发人员的独立开发环境。也就是说,每个开发人员都有自己的SAP系统来开发。

这给我们带来了第一个总的负:

更高的维护成本,信息大数据,因为SAP系统的数量随着开发人员的数量而增加

本地虚拟机

我们的第一个想法是,为什么不在开发人员的机器上运行虚拟化的SAP系统。

开发人员在执行任务时,可以推入其分支,直到它们创建合并请求。

主开发系统(DEV)仅从主分支提取,主分支仅包含已批准的合并请求。

Pro

连接到SAP系统时没有网络干扰你可以在没有连接到公司网络的情况下工作您只需要在推送到git存储库时使用它在SSD上运行SAP系统可以非常快

Con

更高的维护成本管理员不容易控制机器开发人员需要知道如何启动/停止VM/SAP系统甚至有时自己备份虚拟机

然后几个总体问题让我们想到:

更新开发者的SAP系统

您的机器如何获得补丁(支持包、说明、操作系统级补丁……)?如何获得开发特性或复制bug并创建bug修复所需的定制、主数据和事务数据?

更新主开发SAP系统

如何处理abapGit无法序列化的开发对象?主开发系统如何接收新功能所需的自定义、主数据和/或事务数据?在从主分支拉取之后,如何处理分配给主开发系统上正确传输的开发对象?您可能有一个复杂的传输约定来促进代码重用。我们有。

不知何故,您需要一个解决这些问题的策略:

单独维护和配置以及单独导入定制和工作台传输的不可更改对象听起来一团糟主开发系统的客户端副本(仅限SAP)只提供自定义数据克隆运行主开发计算机的VM(OS+SAP)重新命名SID和完全限定域名,否则会遇到网络问题…

您多久允许更新一次?

按需在创建新分支之前当新的发布周期开始时…

托管虚拟机

因为获取更新似乎是一个大问题,也许托管虚拟机比本地虚拟机更好。因此,无论采用何种策略,更新都可以更轻松地执行。

Pro

管理员可以随时访问机器

Con

运行开发者虚拟机的托管成本

那么,经历这一切的好处是什么?

从我们的观点来看:

真正的分支是可能的,在编码过程中没有其他开发者的干扰由于合并请求合并了多个提交,因此代码审查更加出色更好地支持不同的发布版本,轻松切换到发布分支。…

值得付出努力吗?

我们团队不知道。保持系统同步的开销似乎是巨大的。

在这一点上,我们感到不舒服,转而向您和社区征求您对这个话题的意见和经验。

非常感谢,安德烈

,云服务器好用吗,我的云