Spring Cloud Config在SCP Neo中不起作用

2020-08-18 07:31发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

在SCP Neo中使用Spring Cloud Config时遇到问题。 我将配置服务器配置为与git存储库集成为配置存储。 该应用程序与我的本地tomcat一起运行良好。 但是,当将其部署在SCP Neo中时,该应用程序无法启动并出现错误:

原因:java.nio.file.AccessDeniedException:/usr/sap/ljs/temp/config-repo-8751672466921455124/.git/HEAD.lock.lnk->/usr/sap/ljs/temp/config- repo-8751672466921455124/.git/HEAD.lock "> ljs-output-a10f743-2018-08-30.txt

Spring Cloud Config使用jgit(eclipse项目)访问git存储库,当配置服务器启动时,它将连接并克隆远程git存储库。 问题似乎与授权有关。 您能否解决这个问题,为什么该应用程序在其他环境中运行时却无法在SCP Neo中运行。

以下是技术信息:

Spring Cloud Config版本:2.0.0.RELEASE

jgit版本:4.11.0.201803080745-r

应用程序URL不起作用: https://account.int.sap.hana.ondemand.com/cockpit#/globalaccount/5d6f4b0a-2ecc-4242 -9edd-f939522b469c/neosubaccount/f3d0990d-e309-4ee1-b07e-2fed65009ac4/app/embededconfigserver/dashboard

请找到附件中的详细信息。

提前感谢您的帮助。


ljs-output-a10f743-2018-08-30.txt (7.5 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

在SCP Neo中使用Spring Cloud Config时遇到问题。 我将配置服务器配置为与git存储库集成为配置存储。 该应用程序与我的本地tomcat一起运行良好。 但是,当将其部署在SCP Neo中时,该应用程序无法启动并出现错误:

原因:java.nio.file.AccessDeniedException:/usr/sap/ljs/temp/config-repo-8751672466921455124/.git/HEAD.lock.lnk->/usr/sap/ljs/temp/config- repo-8751672466921455124/.git/HEAD.lock "> ljs-output-a10f743-2018-08-30.txt

Spring Cloud Config使用jgit(eclipse项目)访问git存储库,当配置服务器启动时,它将连接并克隆远程git存储库。 问题似乎与授权有关。 您能否解决这个问题,为什么该应用程序在其他环境中运行时却无法在SCP Neo中运行。

以下是技术信息:

Spring Cloud Config版本:2.0.0.RELEASE

jgit版本:4.11.0.201803080745-r

应用程序URL不起作用: https://account.int.sap.hana.ondemand.com/cockpit#/globalaccount/5d6f4b0a-2ecc-4242 -9edd-f939522b469c/neosubaccount/f3d0990d-e309-4ee1-b07e-2fed65009ac4/app/embededconfigserver/dashboard

请找到附件中的详细信息。

提前感谢您的帮助。


ljs-output-a10f743-2018-08-30.txt (7.5 kB)
付费偷看设置
发送
2条回答
CJones
1楼-- · 2020-08-18 08:04

嗨,布鲁斯,

根据我的经验,Neo运行时不支持写入文件系统-出于日志记录目的。 实际上,如果您需要在云中编写内容,则需要通过MongoDB等数据库或其他某种方式(文档服务-CMIS)来完成。

我试图将Jenkins推送到我的Neo帐户,但遇到了完全相同的问题(AccessDeniedException)。 大约一年前,由于我能够在云中运行此Jenkins应用程序,因此可以写入文件系统。 但是,Neo计算单元显然进行了更改,以防止应用程序过程用户写入他们不应该写的区域。

在您的特定情况下,还有另一个问题。 JGit将需要特殊权限(开发人员密钥)才能访问git存储库。 这是通过特殊的环境变量以及SSH私钥完成的(需要由运行应用程序的用户[PID-User]在VM的OS上创建)。 用Neo完全不可能做到这一点,因为您无法打开虚拟机的终端。

最重要的是,还有另一个问题-这是此类云应用程序的主要杀手。 云平台不保证文件系统。 因此,每次重新启动应用程序时,写入文件系统的所有内容都会被完全擦除。 在这种情况下,您将需要在每次重新启动时重新进行操作系统配置。

我建议您将商店切换到 Spring Cloud 在数据库中配置,而不是在git上配置服务器。 请记住,Spring Cloud组件更符合微服务的要求-Neo并未使用它。 因此,如果您的应用程序确实需要这种复杂性,则应转到Cloud Foundry。

我知道其他CF播放器也提供NFS的支持服务,可以将其安装在应用程序的VM上以提供所需的持久性。 这样一来,运行诸如Jenkins以及Cloud Config Server之类的应用程序将变得更加容易。 但是,我认为它是直接部署在BOSH中的东西,因此它将成为平台中的消耗性服务。

话虽如此,恕我直言,SAP应该在CF中提供配置服务器作为支持服务。 因此,所有应用程序都可以简单地对其进行读/写配置。 该平台也缺少缺少SaaS版本的Jenkins。

最诚挚的问候,
伊万

N-Moskvin
2楼-- · 2020-08-18 08:12

嗨,

我正面临着同样的问题。

您能够解决此问题吗?

谢谢

Zohar

一周热门 更多>