【问题标题】:Developing SAPUI5 applications with WebStorm使用 WebStorm 开发 SAPUI5 应用程序
【发布时间】:2014-07-25 09:58:54
【问题描述】:

查看 HANA 上交付的一些 SAPUI5 代码,我注意到一些 SAP 开发人员使用了 WebStorm 甚至 RubyMine。我还听说客户站点上的各种其他开发人员使用 WebStorm 将代码签入 ABAP 存储库。

HANA 和 ABAP 存储库在技术上看起来都是专有的。将 SAPUI5 代码与 HANA 和 ABAP 存储库同步的默认方法似乎是使用 Eclipse 或基于 Eclipsed 的 HANA Studio,通过安装的 SAP 交付插件。

我搜索并找不到任何插件或帮助说明如何在不使用 Eclipse 或 Orion 的情况下轻松签入和签出 HANA 或 ABAP 存储库。

对于 HANA,您可以使用 SAP HANA Deployment Shell 之类的东西将 Github 放在中间,在 ABAP 堆栈上,您可以 /UI5/UI5_REPOSITORY_LOAD 手动上传,我听说开发人员对 eclipse 使用的服务进行反向工程的替代方案监听 HTTP 流量或反编译插件。

我的问题是其他人如何使用 Webstorm 在团队中开发 SAPUI5 应用程序以及如何将代码与 SAP 存储库同步?

【问题讨论】:

  • 在团队中开发 UI5 的最佳选择是不使用 ABAP 堆栈作为存储库;)无论如何 +1:也对如何连接 WebStorm 感兴趣!
  • 仍部署到 ABAP 堆栈或使用其他网络服务器?
  • 嗯,它可以作为一个网络服务器有一些优势(例如,跨应用程序共享相同的 ui5 位置,改进缓存)。我会使用像 git 或 svn 这样的常规代码存储库,以及像 ant、maven 或 grunt.js 这样的构建系统,例如要缩小代码,请执行任何您需要做的测试。构建工件是我将提供唯一标识符并通过 Team Provider 上传到 ABAP 的部分。这样,您就拥有了一个细粒度和最先进的 SCM,并且您仍然没有 UI5/UI5_REPOSITORY_LOAD 的麻烦。
  • 谢谢,非常类似于我看到的团队做 UI5 开发,使用现有的 corp svn/git,使用 grunt 构建代码
  • 缺少的部分是如何自动化部署?不确定 Team Provider 仍然是手动步骤,然后 Eclipse 成为依赖项

标签: webstorm sapui5 hana


【解决方案1】:

我使用 Webstorm 进行 UI5 开发。我们将代码存储在通过在 Ubuntu 上运行的内部 Gitlab 服务器 (https://about.gitlab.com/) 托管的 GIT 存储库中!您可以轻松使用 Gitlab 或 Bitbucket 等云解决方案。

有两种方法可以绕过 Eclipse 并消除对 ABAP 团队存储库的需求:

(1) 在网关 ABAP 堆栈上使用 t-code SE38 中的 abap 程序 /UI5/UI5_REPOSITORY_LOAD。只需将其指向您的 git 目录并执行!

(2) 使用程序 /UI5/UI5_REPOSITORY_LOAD_HTTP 从网络服务器执行相同的操作。您可以想象一个场景,您有一个触发 SAP 拉取的 HTTP 服务,但我们始终使用第一种方法!

编辑@ 03-SEP-14

为了澄清我对 (2) 的想法,理想的方案是实现一个小型提交后处理程序,以便在存储库更改时:

  • 从存储库中提取更改
  • 构建 UI(即在 JS 和 CSS 上执行缩小/丑化)到单独的构建文件夹(创建预加载文件)
  • 对代码执行任何单元测试(如果存在)
  • 如果测试通过,请通过以下任一方式上传到网关:
    • 压缩构建文件夹并将其发布到自定义网关服务(或)
    • 调用自定义网关服务,然后通过 HTTP 触发构建文件夹的拉取

(因为 master 总是可部署的 :-)!)

您最终会获得一个持续集成平台,该平台可确保您的代码的完整性并确保您也只部署生产代码(总是有点不确定将带有 cmets 等的非缩小源代码部署到面向互联网的高效服务器..)。

此方法与您使用的 IDE 无关,如果操作正确,也与源代码存储库设置无关。

希望这有助于并祝开发愉快!

奥利

【讨论】:

  • @qmacro 最近建议从 ABAP 存储库定期推送这很有意义,只要您可以避免擦除所有 git.ignore 内容,但仍然希望没有 Eclipse Webcontent 文件夹格式, 有兴趣知道这是否可以删除
  • @Jasper_07 我已经用更全面的事件流更新了答案。 Webcontent 文件夹不是上传的先决条件 - 我当前的应用程序没有,而且工作正常!
  • 很酷,谢谢,我记得我们以前可以使用 WebDAV 客户端来管理 BSP Mimes,我想知道它是否仍然有效,你可以在 gitlab 中设置一个 web hook 来触发 Webdav 部署
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-20
相关资源
最近更新 更多