云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

免备案CDN_cdn国外_代金券

小七 141 0

在我的CloudFoundryFun系列的第七篇文章中,我们将把本地VS代码编辑器连接到运行cloudfoundry应用程序。这将允许我们在开发过程中进行小的更改和快速的测试。

拥有强大的能力

说实话,我想了很长时间是否应该写这篇文章。我相信这个话题对许多CF开发人员可能会有所帮助,但也可能会导致做一些非常糟糕的事情。然后,我想到我最喜欢的蜘蛛侠语录,决定写这篇文章?

权力大,责任大!

那么,我们到底在说什么?当我编写应用程序或准备教程和演示时,我经常注意到我无法在本地机器上测试所有内容。有很多开发组件,比如approuter,它们不容易在本地进行测试。尽管打包应用程序和重新部署整个应用程序的速度相对较快,但可能需要几分钟的时间。所以很小的改变不能很快得到验证。

一些社区成员已经做出了不同的努力来缩小本地和云运行时环境之间的差距。我的同事Maximilian Streifender写了一篇很好的博客文章,介绍了如何将本地调试器客户端连接到CloudFoundry中正在运行的应用程序。这是识别两个运行时的差异的第一步。在本系列的第一篇文章中,我展示了如何在cloud REPL中编写和执行代码。现在您可以测试您的假设云环境在浏览器中的行为。Volker Buzek反过来说,淘客推广,他找到了一种在本地机器上运行approuter的好方法,通过修改本地运行时使其行为类似于云运行时。换句话说,他用环境变量模拟目标服务。Victor Ionescu把樱桃放在了这个想法之上,创建了一个完整的Docker Compose环境,在任何地方模拟云运行时的行为。

在这篇文章中,我们将不模拟云环境,而是控制其中的应用程序:我们将连接一个本地编辑器到正在运行的云应用程序!这允许我们在云中实时读取和更新应用程序代码。这样就可以进行小的修改和测试,而不必使用所有的微服务打包和更新应用程序。现在您可能已经明白了为什么在生产中使用时会造成严重损坏。请大声读下面的语句来理解这一点(类似于著名的keep the core clean口号):

我不会在生产中使用这一点

我不会在生产中使用这一点

我不会在生产中使用这一点

更新运行审批器的配置

我目前正在为TechEd 2019开发一个小应用程序,它将将云应用程序编程模型与Azure云服务相结合。为此,我需要集成approuter作为我的应用程序的中心组件。老实说,与approuter配置文件(xs)相关的错误-应用程序.json)让我头疼。在计划中的应用程序中,这个文件看起来相当简单,只包含几行代码。然而,我经常(真的经常)设法在那里得到一个小错误。有时我在目的地的名称中有一个输入错误,大数据的应用,有时我选择了一个无效或无用的路由模式顺序。不管错误是什么,我通常需要做一个简短的更改(大约需要5秒钟)并等待5分钟打包和重新部署,直到我可以看到更改生效。

正常的方法:在本地编辑文件并将其部署到Cloud Foundry

让我们看看如何在Approver已经运行时更新此配置文件。此方法也适用于任何其他文件修改,可用于UI和后端模块。

为此,我们将使用VS代码远程开发扩展,它仍处于预览模式。插件将通过SSH连接到应用程序容器。对于这个连接,我们将利用cloudfoundry CLI的一次性密码功能。我认为这种方法是最先进的,所以请为沿途的一些"减速带"做好准备

危险的方法:直接在Cloud Foundry上编辑文件

动手

在我们到达有趣的部分之前,我们需要在SAP云平台上安装一些云开发所必需的工具(如果您还没有安装):

设置您的本地开发环境微软的VS代码也是这个练习的关键部分。最后但并非最不重要的一点是,您需要要修改的应用程序。出于测试目的,您可以使用这个示例应用程序。

现在所有的工具都安装好了,是时候让我们的手变脏了:

要考虑的陷阱

这个实验对于我测试approuter配置文件的快速更改的用例非常有效。当你考虑把它用于你自己的工作时,有几件事你应该牢记在心:

不能用于生产!扩展仍处于预览阶段,这意味着事情有望破裂虽然cloudfoundry的expose no credentials策略通常非常有用,淘客放单,但是在这个用例中创建一次性密码有点烦人创建新容器后,应用程序GUID将更改。因此,您需要经常更新配置文件。如果你破坏了某些东西并保存了文件,物联网的,应用程序将立即重新启动并崩溃。cloudfoundry会注意到这一点,物联网智能水表,并用一个新的容器替换"损坏的"容器=>SSH会话将被终止,您必须重新开始。