2020年,为何咱们应该使用abapGit代替SAPLink

SAPLink是一个帮助人们分享开发内容的工具。经过它,人们能够将ABAP开发对象从一个系统打包下载、再上传到另外一个系统中。对于各类类型的开发者,它均可以起到做用:html

  • 有的开发者喜欢在不一样的项目中复制类似的程序、修修改改以实现快速实施。
  • 有的开发者野心勃勃,但愿开发本身的特定问题解决方案。
  • 有的开发者但愿从网络获得现成的示例程序,帮助本身学习。

恐怕绝大部分ABAP开发者都使用过或者据说过SAPLink,所以这里再也不对它的作过多介绍。可是,也许有一部分人还不了解他的替代品:abapGit。本文试图解释,为何咱们应该是用abapGit替代SAPLink。git

 

本文连接:http://www.javashuo.com/article/p-ceutxzxy-gp.htmlgithub

转载请注明数组

SAPLink的局限性

SAPLink的基本功能是把指定的开发对象序列化成为特定格式的文件,以及反过来把文件反序列化在系统中生成相应的开发对象。这一功能的概念在2020年的今天并不过期,但在具体的实现上,它是有一些问题的。服务器

安装成本

SAPLink的安装须要遵循一些步骤,对于新人来讲可能不是特别简单。我已经屡次遇到SAP系统中的SAPLink不可用的状况,并被相关开发人员告知“不知道为何不能用,多是安装问题”。网络

功能不完善

越过了安装问题后,另外一个难关是在实际使用中它不时会出现一些问题,有时是不支持某种类型的开发对象,须要安装插件,有时是导入中的dump,有时是导入后的对象错误。分布式

无人维护

软件总会有不完美的地方,但若是没有了维护者,那就意味着它的各类问题不会再获得改善。现在,当咱们访问本来是SAPLink的网站saplink.org,咱们会被重定向至一个Github页面:https://github.com/sapmentors/SAPlink,由此咱们能够得知这一项目其实已经再也不被维护,而它的继任者为abapGit。ide

abapGit的优点

abapGit继承了SAPLink的基本功能——将开发对象上传下载,同时有着更多的优点。函数

易于安装

abapGit是一个单文件报表程序,所以开发者只须要在SE38新建文件,复制粘贴代码,激活便可安装abapGit。(这一点在新版的abapGit中稍有变化,不过总体来讲难度仍是很简单)工具

丰富的对象支持

abapGit支持上百种开发对象,并且它的表现十分可靠,对于经常使用的开发对象如类、数据字典、函数组、屏幕,我从未见过它出错。

稳定的维护者

abapGit是迄今为止最大的ABAP开源项目,它有着90+贡献者,3000+的提交次数,100000+行代码,项目的全部者larshp是我见过的精力最旺盛的ABAP开发者。这意味着abapGit能够持续地发展和改进,用户也能够为本身遇到的问题提issue请求协助。

良好的生态

abapGit获得了广大开发者和SAP的支持,经过abapGit开发者能够利用丰富的ABAP开源资源,也能够参与其中,贡献本身的项目、代码或思考。不少大公司在使用abapGit,包括SAP自己。你甚至能够在SAP的官方文档找到abapGit的中文教程:使用 abapGit

 

Q & A

一些常见问题。

Git是什么,Github又是什么?

Git是一种分布式版本管理系统。

abapGit是用于处理SAP开发对象的Git客户端,下载/上传开发对象是它的功能之一。

Github是一个网站,它提供了代码仓库的功能,不少人使用Github来在线存储/分享代码,目前大部分ABAP开源项目会在Github发布。

服务器能访问外网是使用abapGit的必要条件吗?

不是,尽管abapGit提供了方便的在线模式,开发者依然能够经过离线模式像使用SAPLink那样经过上传下载文件的方式导出和导入开发对象。

若是开发者所在的公司防火墙内有Git代码仓库,好比本身搭建的Gitlab,也能够经过abapGit链接它,把代码传输到上面。

abapGit会致使个人代码泄露吗?

有人怀疑使用abapGit以后,本身的代码可能会不声不响地出如今Github之类的网站上。在看过上一个问题后,有这种疑问的读者应该会明白这是不可能的。

abapGit就像一个运钞车,它能够方便地运输大量钞票,但这不表明车上的钞票会自动跑到汽车交易平台。运到何处,司机(开发者)能够自行控制。

也能够经过权限控制,限制能使用abapGit的用户。

我要怎样安装abapGit?

上文已经说过,abapGit是一个单文件报表程序,所以开发者只须要在SE38新建文件,复制粘贴代码,激活便可安装abapGit。代码能够从官方文档获取:

https://docs.abapgit.org/guide-install.html

怎样利用开源资源?

前往http://www.javashuo.com/tag/github.comdotabap.org查找你想用的东西,好比geohash,使用clone or download下载zip包,

而后在abapGit中create-import-pull便可。参考官方文档:

https://docs.abapgit.org/guide-import-zip.html

 

abapGit有什么缺点吗?

在深刻应用abapGit以后,一些开发者提出过使用它时遇到的一些问题,好比:

  • 因为SAP开发模式的特殊性,很难使用Git的分支功能。参考《abapGit分支策略》,这篇文章的英文原文中有不少讨论。
  • abapGit对对象的上传下载是基于包的,这意味着若是开发者想上传下载的开发对象是跨包的,那么可能须要处理包含这两个包的父包。除非包与包之间的隔离很好(这在二次开发中不多见),那么最终可能会演变成必须有一个包含全部对象的总包,能够想象,上传下载这个总包会花费大量的资源,甚至可能遇到内存不足、超时等状况...
  • 少数类型的对象没有被支持。

但这些问题基本都是在一些复杂的使用场景才会出现,并且社区也在试图解决。它们丝绝不影响abapGit替代SAPLink的能力。

 

扩展阅读:

SAPlink – Thankyou

abapGit Branching Strategy Discussion

How we do ABAP code review using abapGit

相关文章
相关标签/搜索