当前位置:主页 > 云通信 > 正文

企业网站_阿里云邮箱申请_评分榜

时间:2021-05-04 08:28 来源:埃里克云 编辑:埃里克云

核心提示

在这个博客中,我们将在SAP HANA XSA中构建NodesJS和SAPUI5应用程序来控制Jenkins的构建过程(詹金斯·伊奥)提供了一种简单的方法,可以使用管道为几乎所有语言和源代码存储库的组合设置...

在这个博客中,我们将在SAP HANA XSA中构建NodesJS和SAPUI5应用程序来控制Jenkins的构建过程(詹金斯·伊奥)提供了一种简单的方法,可以使用管道为几乎所有语言和源代码存储库的组合设置连续集成或连续交付环境,以及自动化其他常规开发任务。

SAP HANA XSA詹金斯(詹金斯·伊奥)安装在本地计算机上詹金斯的NodeJS客户(https://www.npmjs.com/package/jenkins)一个简单的Python程序

配置Jenkins作业来执行Windows批处理命令来运行Python程序。为简单起见,Windows批处理文件和Python应用程序驻留在同一个Jenkins服务器上(这在生产模式下可能不实用)。在saphanaxsa中为Jenkins安装和配置NodeJS客户端,并构建NodeJS应用程序以调用restapi来构建、获取和停止Jenkins作业。最后,我们将在SAP HANA XSA中构建SAPUI5前端,以触发作业、检查作业状态和取消作业。

转到Jenkins主仪表板并单击"新建项目"。输入item name trigger并选择Freestyle project。单击"确定"继续。在"生成"下,添加"生成步骤""执行Windows批处理命令"。指定命令。在这里,我想执行运行.bat在文件夹C:\MyPython\中。单击"保存"完成。返回主仪表板,您将看到我们刚刚创建的项目"触发器"。

登录SAP HANA XSA的SAP Web IDE。在SAP Web IDE for HANA XSA中创建一个新项目,并选择SAP云平台业务应用程序。单击"下一步"继续。给出项目名称,例如zjenkinauto。单击"下一步"继续。在此页面上,单击"下一步"继续。我们需要NodeJS模块,但是我们稍后会添加它,我们不需要数据库模块。为服务和数据库选择"不包括"。单击"下一步"继续。单击"完成"完成设置。

现在在我们刚刚创建的项目上,右键单击并选择"新建">节点.js模块。给出一个模块名srv。单击"下一步"继续。在此页面上,单击"下一步"继续。单击"完成"完成。我们需要更新服务器.js在srv文件夹中。更新为以下代码:/*eslint没有控制台:0,没有未使用的变量:0,没有-未定义:0,无进程-退出:0*//*eslint env节点,es6*/"严格使用";常量端口=进程环境端口|| 3000;const server=require("http").createServer();const cds=require("@sap/cds");//初始化XSA UAA和HDBEXT中间件的Express应用程序const xsenv=require("@sap/xsenv");const passport=require("护照");const xssec=require("@sap/xssec");const xsHDBConn=require("@sap/hdbext");const express=要求("express");全局。uu base=uuu dirname+"/";//伐木var logging=require("@sap/logging");var appContext=logging.createAppContext();//初始化XS UAA和HDBEXT中间件的Express应用程序var app=express();//压缩应用程序使用(要求("压缩")({阈值:"1b"}));//安全策略头的头盔const helmet=要求("头盔");// ...应用程序使用(头盔());应用程序使用(头盔.内容安全政策({指令:{defaultSrc:'self'',styleSrc:'自我',"sapui5。hana.ondemand.com"],scriptSrc:'自我',"sapui5。hana.ondemand.com"]}}));//设置"参考者策略:无参考者"。应用程序使用(1.参考者政策({策略:"无推荐人"});passport.use公司("JWT",新xssec.JWT策略(xsenv.getServices({uaa公司:{标签:"xsuaa"}}).uaa));应用程序使用(日志记录.中间件({appContext:appContext,logNetwork:正确}));应用程序使用(passport.initialize初始化());应用程序使用(passport.authenticate验证("JWT"{会话:错误}));//重定向到服务根目录应用程序获取("/",(需求,资源)=>{资源发送("UI5詹金斯");});//设置附加节点.js路线需要("/路由器")(应用程序、服务器);//启动服务器服务器.on("请求",应用程序);服务器。听(端口,函数(){控制台信息(`HTTP服务器:${服务器地址().端口}`);});​同时打开包.json在srv文件夹中。并用以下代码更新:{"name":"发球","description":"生成自/包.json,不要改变!","version":"1.0.0","依赖关系":{"@sap/cds":"^3.10.0","快递":"^4.17.1","@sap/xssec":"^2.1.17","@sap/xsenv":"^2.0.0","hdb":"^0.17.0","@sap/hdbext":"^6.0.0","@sap/hana客户端":"^2.4.139","@sap/textbundle":"最新","@sap/logging":"^5.0.1","@sap/audit logging":"^3.0.0","nodemailer":"^6.2.1","passport":"~0.4.0","async":"^3.0.1","ws":"^7.0.0","accept language parser":"最新","node xlsx":"^0.15.0","node zip":"~1.1.1","xmldoc":"~1.1.2","winston":"^3.2.1","正文分析器":"^1.19.0","elementtree":"最新","then request":"最新","压缩":"~1.7","头盔":"^3.18.0","jenkins":"^0.27.0"},"发动机":{"node":"^8.9","npm":"^6"},"devDependencies":{},"脚本":{"postinstall":"cds build/all--项目。。--清洁","start":"节点服务器.js"},"i18n":{"文件夹":["\u i18n"]},"光盘":{"数据":{"driver":"hana"}}}​我们为Jenkins添加了NodeJS客户端https://www.npmjs.com/package/jenkins在依赖项部分:"jenkins":"^0.27.0"。在srv文件夹中创建一个名为router的文件夹。创建索引.js文件夹路由器。插入以下代码:/*eslint env节点,es6*/"严格使用";模块.exports=(应用程序、服务器)=>{应用程序使用("/node",require("/routes/myNode")());};​在路由器文件夹中创建另一个文件夹路由。我们将创建NodeJS应用程序来触发构建,获取作业信息并停止构建。创建我的节点.js在routes文件夹中。插入以下代码:/*eslint no console:0,no unused vars:0,no shadow:0,新上限:0*//*eslint env节点,es6*/"严格使用";var express=要求("express");var async=require("异步");var jenkinsurl="**使用您的JENKINS URL更新";模块.exports=函数(){变量应用=快速路由器();应用程序获取("/triggerJob",(请求,资源)=>{var jenkins=要求("jenkins")({baseUrl:jenkinsurl,发行人:对});詹金斯.工作.建造("触发器",功能(错误,数据){如果(错误){资源类型("application/json").status(200).send("Error");}其他{控制台.log("队列项目号:"+数据);资源类型("application/json").status(200).send('{"queue":'+data+'}');}});});应用程序获取("/statusJob",(req,res)=>{var jenkins=要求("jenkins")({baseUrl:jenkinsurl,发行人:对});詹金斯。工作。得到("触发器",功能(错误,数据){如果(错误){资源类型("application/json").status(200).send("Error");}其他{控制台.log("构建:"+数据);资源类型("application/json").status(200).send(数据);}});});应用程序获取("/cancelJob",(请求,res)=>{变量jobq=需求查询.q;控制台.log(作业Q);var jenkins=要求("jenkins")({baseUrl:jenkinsurl,发行人:对});詹金斯。建造。停止('trigger',jobq,函数(err){如果(错误){资源类型("application/json").status(200).send('{"status":error}');}其他{资源类型("application/json").status(200).send('{"status":ok}');}});});返回应用程序;};​用Jenkins服务器更新上述代码中的变量jenkinsurl。例如:var jenkinsurl="http://userid:password@10.11.18.134:8080"

  • 企业网站_新白娘子传奇百度云_折扣 企业网站_新白娘子传奇百度云_折扣

    你好,社区, BSI TaxFactory和TaxFactory SaaS发布版本11.0可用。 在我们的合作伙伴BSI将其产品/产品BSI TaxFactory 10.0的维护延长至2021年4月30日之后。SAP还决定在2021年4月30日之前为BSI TaxFactor...

  • 消息队列_华云服务器_限量秒杀 消息队列_华云服务器_限量秒杀

    啊。我已经很久没在这里写博客了-对不起? 但这是一个很好的机会让我重新上马,这是我与SAP TechEd Barcelona的SAP社区负责人Craig Cmehil的"无采访视图"(无采访视图就像一次真正的采访...

  • <strong>域名备案_查看数据库密码_怎么样</strong> 域名备案_查看数据库密码_怎么样

    在本文中,我们将看到如何在sapcloudfoundry环境中为Spring启动应用程序配置OAuth2授权。但是在这样做之前,让我们先熟悉一下这个实现中涉及的几个重要概念。 简介 OAuth2–是一个授权框...

  • <strong>MySQL数据库_网站cdn_多少钱</strong> MySQL数据库_网站cdn_多少钱

    您已经听说了SAP Graph在SAP TechEd Las Vegas 2019发布的消息。微软Graph也非常棒,非常相似(哲学上+技术上),它不仅非常有用,而且我会给你一个微软Graph的工作示例/教程,让你了解它,...

  • 京东云_网站建设中页面_学生机 京东云_网站建设中页面_学生机

    在可预见的未来,向S/4HANA过渡的公司特定规划已将每个SAP客户列入其议程。S/4HANA实施项目越来越近了,因此也有一个问题:在技术和开发层面必须做哪些准备?正是这个主题是"S/4H...

  • <strong>天翼云_网站服务器失去响应怎么回事_代</strong> 天翼云_网站服务器失去响应怎么回事_代

    大家好, 欢迎来到一个关于用户浏览器没有启用JavaScript的用户体验主题的简短博客。 考虑到1%的设计理念,如果我们考虑那些禁用或不可用JavaScript的浏览器的用户(出于"天知道为什...

  • <strong>对象存储_网站建设外贸_速度快</strong> 对象存储_网站建设外贸_速度快

    在本文中,我将展示如何通过负载平衡器为我们的生产数据库构建一个具有高可用性的HANA驾驶舱。我建议您开始阅读SAP指南HowTo:High Availability for SAP HANA cockpit using SAP HANA system replicat...

  • <strong>中间件_重庆网站建设策划_促销</strong> 中间件_重庆网站建设策划_促销

    SAP Customer Data Cloud在9月份推出了许多功能。如果你错过了这些,下面是我们9月份发布的几个亮点。 与苹果公司登录:苹果公司已经发布了使用苹果ID登录应用程序的选项。他们甚至规...

  • 消息队列_马云御任阿里巴巴_年度促销 消息队列_马云御任阿里巴巴_年度促销

    本周在拉斯维加斯TechEd看到的创新给我留下了非常深刻的印象。今年似乎出现了比过去更多的业务倾斜。主要的宣布是我们可以通过业务技术平台扩展SAP应用程序 HANA云服务(HCS)是业...