大家好,
我之前发布了一篇关于使用Gitlab CI测试、构建UI5应用程序并将其部署到ABAP系统的博客:https://blogs.sap.com/2018/08/01/ci-cd-for-sapui5-on-abap-with-gitlab/. 现在,我们有一个用例,我们想要一个类似的设置,但是我们需要将我们的应用部署到SCP NEO而不是ABAP系统。除了目标系统之外,还有另一个区别,这次我使用的是windows服务器作为我自己的GitLab Runner.
通过GitLab Runner部署到ABAP或SCP是一个显著的区别。为了配置此设置,我从SAP的最佳实践指南开始:https://developers.sap.com/belgie/tutorials/ci-best-practices-fiori-sapcp.html. 在本教程中,SAP将介绍如何配置Jenkins以部署到SCP。这与GitLab非常相似,因为两个系统都只是在服务器上运行OS脚本。本教程最重要的部分是部署到SCP的脚本:
我刚刚不得不将脚本转换为powershell(来自SAP的最佳实践指南),云服务器租用,好评返现,因为我在windows服务器上工作。除了转换脚本,我还在服务器上安装了所需的工具。否则,GitLab运行程序每次需要部署时都必须下载它。因为我可以访问服务器,上云,所以我可以安装所需的工具。这也将加快构建和部署过程。
通过在运行程序上安装工具来准备gitlab运行程序。
下载以下工具:
MTA builder:NEO SDK:
我将这两个工具复制到我的windows服务器上GitLab Runner文件夹中新创建的"tools"文件夹:
这里有我的mta builder jar文件和用于部署的所有NEO文件:
我们用于部署的NEO CLI是NEO SDK的一部分,您可以在此处下载:https://tools.hana.ondemand.com/#云
公司MTA builder也可以在同一页的底部下载。
在那旁边,我已经在服务器上安装了npm。
通过在runner上安装工具,将加快CI过程并简化CI脚本。
在工具旁边,我们还需要为CI过程准备我们的项目。CI进程将把我们的项目作为MTAR文件部署到SCP上。为此,我们需要添加一个甲基丙烯酸甲酯文件到我们的项目。这个甲基丙烯酸甲酯文件具有MTA生成器生成和生成MTAR文件所需的所有配置甲基丙烯酸甲酯文件仅对UI5应用程序非常基本,如下所示:
根据目标平台,文件可以有不同的参数。我们的目标平台是NEO.
我们刚刚在主UI5项目中添加了这个yml文件。这意味着我们可以为UI5应用程序使用路径"."。
CI进程将替换"${timestamp}",大数据数据库,以便始终具有唯一版本的应用程序。
我们需要配置CI/CD进程,因此需要添加和配置GitLab CI yml".GitLab"-基督教青年会"文件到我们的UI5项目。与我关于ABAP系统上的CI/CD for UI5的博客文章相比,步骤非常相似:https://blogs.sap.com/2018/08/01/ci-cd-for-sapui5-on-abap-with-gitlab/. 步骤是相似的,大淘客推广,但背后的技术是不同的。我用MTA版本替换了build grunt任务。部署grunt任务将替换为NEO CLI。MTA build和NEO CLI的CI/CD脚本基于SAP best practices guide中的脚本。我只是通过提前下载所需的工具来简化它。
我还省略了单元测试的步骤,所有其他步骤都与我以前的博客一样:
这里有一个完整的GitLab CI yml文件的示例:
grunt脚本包含代码验证和构建步骤所需的任务。构建任务被定义为默认任务,将由MTA生成器使用。
它与SAP Web IDE使用SAPUI5最佳实践任务生成的grunt脚本基本相同。我只添加了一个任务,它将检查eslint结果以在eslint错误时停止生成。
这里有grunt脚本:
eslint config和CI/CD全局变量的配置方式与我在其他CI/CD博客中的配置方式相同:https://blogs.sap.com/2018/08/01/ci-cd-for-sapui5-on-abap-with-gitlab/
CI/CD全局变量只是有点不同:
你应该至少加上mta.yaml公司"文件和".gitlab-基督教青年会"到您的项目(用红色标记)。如果您还想在管道中使用eslint检查,您还需要添加eslint配置并修改gruntfile(用橙色标记)。
将应用程序部署为MTAR文件意味着它的部署方式与您使用UI5应用程序的方式不同。新的HTML5应用程序将作为解决方案部署。
如果CI/CD过程顺利,您将在GitLab中看到以下管道:
当所有步骤完成时,您可以在SCP中找到该应用程序。
转到解决方案,UI5应用程序将在部署完成时显示:
这就是如何在SCP中使用GitLab进行CI/CD设置的方法!