物联网管理101与JFrog连接-研讨会

全球有超过120亿个物联网设备,IDC预计到2025年将达到410亿个。物联网包括连接的智能设备,如工业机器人、零售亭、安全摄像头和使用树莓派(RPi)的制造商设备。将物联网管理到现实世界的生产中,在规模和管理方面可能具有挑战性。JFrog连接是一个完整的解决方案,用于在全球范围内更新、监控、管理和排除基于linux的设备。

车间提供了几个实验室逐步说明。携带RPi或在JFrog Connect平台上创建虚拟演示设备。您可以获得JFrog Connect的免费层实例。实验文件将通过GitHub提供。我们将讨论以下主题:

  • 芯片、传感器和设备的故事
    • 什么是物联网和边缘计算?
    • 行业用例、潜力和风险
  • 实验1:准备一个RPi或虚拟演示设备
    • 所需的RPi硬件和设置
    • 访问Connect的自由层实例
    • 使用“连接”和“连接代理”注册设备
    • 什么是连接代理?
  • OTA更新
    • 实验2:将文件推送到设备,编译并运行
    • 实验3:在程序运行时更新设备
  • 在规模
    • 提示和良好做法
    • 安全注意事项

记录:

大家早上好,晚上好,下午好,无论你在哪里。我的名字是Fana Jabbar,我将是今天网络研讨会的主持人。今天的研讨会是与JFrog Connect一对一的物联网管理。我们的主持人是Bill Manning, JFrog的解决方案工程经理。今天,我们也将有足够的时间问答在会议期间,会议将是相当互动,所以不要害羞,使用问答或聊天按钮在屏幕底部的缩放界面。我想是时候让比尔发言了。比尔,这一层是你的。
太感谢你了。我真的很感激。大家好吗?欢迎来到我们的JFrog连接研讨会。我们说物联网研讨会,因为物联网是当今人人都在使用的一个大短语。我的名字是比尔·曼宁如前所述,或者威廉·曼宁。[听不清00:01:15]我分不清威廉和比尔,但这就是我。我是JFrog的解决方案工程经理。我在这家公司已经工作六年多了。只是想让你们知道,我做这个小演讲的原因之一是,我在物联网领域的经验非常丰富。 I actually had a company that was part of that. We built a platform that was sold later on to Google and Motorola that was actually called the Connected Home before IoT was even a term. So, I was brought in to give a talk about this. Let’s get going. One of the things we’re going to talk about today is, we’re going to go a quick overview of, of course, the IoT world and where it stands, and just some of the interesting stats and things like that.
我们将讨论J Frog Connect Connect是什么。如果您是Artifactory的客户,我还将向您展示JFrog如何连接和Artifactory,如何利用您提供的片段、所有二进制文件、生成的构建和创建的docker映像。您对32种包类型所做的任何操作都可以通过Connect平台推送到您的设备上。我们会讨论一下供应链安全。我们将看到一些工作流程以及更新设备和诊断设备。这很简单,我们开始吧。当然,我们知道这些数字。过去十多年来,每个人都在谈论物联网,这是有原因的。现在有数以百万计的设备,而且还在不断增长。从物联网领域可以赚到的钱是令人难以置信的,但可以节省的钱也非常多。 If you look at this too, one of the biggest problems though, is also things like security. We’ll discuss some of the security aspect behind this. Whether it’s software supply chain security, or all the way down to the device itself.
但问题是,设备的数量在不断增长。我的意思是,就我个人而言,在我现在做演讲的房子里,我的意思是,我家里有50多个设备。从照明到智能冰箱,你能想到的,我都有。我一直对这个领域很投入。当我们看到这一点,看到不断增长的设备数量,有一个平台可以进入你的软件供应链,你的SDLC,你的软件开发生命周期,无论你和你的公司在设备空间方面做什么,事情是,我们已经覆盖了你。JFrog平台和Connect作为该平台的一部分,是一个端到端的DevSecOps解决方案,允许您构建软件并将其部署到设备中,维护和监控它,以及诸如此类的一切。设备空间正在增长,就像我们一直在谈论的那样。理解这一点,理解所有这些设备,其中大多数都是基于Linux的,你希望能够把它们放在边缘,你也希望能够做一些人类不参与的事情。
或者,如果你是一家为消费者或工业生产安全设备的公司,你想确保你能提供帮助。你希望能够密切关注这些设备,更新这些设备,监控它们,确保它们运行良好。从30美元的树莓派应有尽有。现在,我笑的是,我认为30美元曾经是这样的,然后生产它们的供应链问题发生了,它们飙升到200美元。天啊,太荒唐了。但是一直到服务器之类的东西,这些都是我们讨论的东西。物联网(IoT)是一个内涵丰富的名字。它快把我逼疯了,因为它从一个非常小众的市场开始,然后扩展到任何与之相关的领域。为什么人人都在谈论物联网?当我听到这句话时,我总是笑,因为就像我说的,我在这个空间已经有一段时间了,实际上你看不到我身后。 I got awards for the Connected home stuff, software platform we built all the way going back to 2007.
我还在说,天啊,都16年了。问题是,至今仍有许多挑战。问题是,你需要一些方法来确保你可以诊断设备,以消除产品召回或确保软件可靠性。而且,事情是不断更新的。问题是,我们相信JFrog关于液态软件的方法论理念。软件应该流动,事物应该不断更新。这是我们的口头禅。要知道,我们已经为全球近8000家客户提供了这个服务,几乎100%的财富100强企业,因为我们的想法是,客户和消费者现在已经达到了他们希望自己所做的事情得到更新的程度。无论是你开的车,还是你口袋里的手机,甚至是你用的电视,或者任何类似的东西。甚至你的恒温器,烟雾探测器等等。 But also too, corporations that are doing this, you want to be able to maintain some semblance control, because the thing is, diagnosing a lot of these components and these things can be very costly for a lot of companies to do.
你需要一些方法和简单的方法来做这个。有了Connect,它提供了远程管理之类的东西,能够向设备提供软件更新。能够极快地排除设备故障。能够监控设备,并设置监控提醒这样你就能得到通知。最重要的是,你要确保这些设备是安全的。所以甚至可以在设备中安装防火墙。现在您明白了,所以我们将首先讨论这个问题,现在Connect平台仅适用于基于linux的设备。我们不支持基于windows的设备。我们将来可能会有一些东西向前发展,但让我们面对现实吧,市场上90%以上的设备都是基于linux的,这就是原因。当我们有了这个,我们想知道的是,就目前而言,我们的连接平台是基于saas的平台。 We will be having a self-hosted version of this platform coming soon. It’s easy to use, I’ll talk about that.
可以很容易地将其作为自己的产品独立使用,或者如果您已经是JFrog的客户,则可以将其连接起来,特别是如果您目前是JFrog的SaaS客户。但是,您可以将SaaS实例连接到connect实例。您在Artifactory内部构建和生产的任何软件……我不会深入讨论Artifactory。如果你想这样做,我们有很多视频。我在这方面做了很多演讲。软件供应链安全,软件物料清单,比如构建云原生。我们[听不清00:07:22]是云原生基金会的成员。我们是CNA,我们是权威的CV号。所以,作为我们公司的一部分,你得到的所有其他补偿,都被纳入了Connect平台。您既可以单独使用它,也可以将它与实际的JFrog平台本身一起使用。 It’s based to work with, like I said, Linux-based devices, both Arm and Intel. It’s only about a four megabyte size client that I’ll show you how to install today.
然后,一旦它在那里,一个很好的特性是,它使用call home风格的特性,也就是说,一旦这个客户端被安装,你不必担心你的客户需要打开他们的防火墙来做这个因为设备本身会调用outbound到建立连接的服务,然后所有的连接都是基于那个完成的。问题是,它的设计是为了快速,高效,而且在安全方面也非常有效。所以,把所有的软件放在边缘,这给了你控制维护监控和远程诊断能力,你需要的。当我们今天开始使用它时,你可以做从代码到设备或开发人员到设备的事情,能够自动化你想要的一切,利用我们的平台一直向下连接。能够真正拥有端到端的软件供应链安全,以及软件材料清单。
记住,实际上现在每个人都在谈论软件材料清单,你必须记住,软件材料清单实际上是在2017年由FDA处理医疗设备而产生的。了解医疗设备上的软件是最初制作软件材料清单的原因,因为让我们面对现实吧,你想知道设备上有什么可能会杀死人。这也是你追踪发行内容的一种方式,看看现在有什么,你在哪里?然后,在使用该平台时,它允许您保持对端到端生命周期的控制。它还允许你做一些事情,比如对故障进行补救或从设备远程补救,无论是通过实际的Connect平台的设备,还有能够维护和监控一切的想法,甚至到设备状态,或者实际的当前状态,比如温度或诸如此类的东西,或存储或任何你正在做的事情。当我们讨论Artifactory和Connect时,您需要理解我们在讨论端到端SDLC时所讨论的内容,对吗?
第一步当然是开发人员。我们有Artifactory,通用二进制存储库管理器。这是一种维护和管理第三方可传递依赖关系的方法,这些依赖关系占公司构建软件所需资源的85%到90%。还有你制作的软件,你制作的构建,docker映像,Terraform模板。不管你在做什么,你都可以把它放进去。我们支持超过32种包类型。就像我说的,很多关于这个的讨论。我们还有IDE插件之类的东西。其中一件事是我们将在其他讨论中讨论的,是x射线,对吧?所以我们的安全漏洞许可遵从性,以及操作风险工具。 We also introduced the thing recently, called the advanced security features, which include things like contextual analysis. One of the major problems that most companies have these days, is that when they see CVEs for some of the software they’re producing, is going through remediating. Actually, before they even do that, is actually doing analysis of it, then remediation. Takes time and effort.
架构分析特性实际上会让您知道,您是否容易受到这些cve的影响?它们是否适用?从而加快您的能力,确保您的软件是安全可靠的,而不是实际上从您的创新计划中删除。我们还有JFrog CLI。我们今天就向你展示。顺便说一下,我们的JFrog CLI也将与Connect平台一起工作。如果你是一个使用命令行界面的人,你喜欢shell脚本之类的,你也可以这样做。但是同样,当我们开始讨论这些东西时,我们有创造方面,你的CI环境。你要建立软件,你要部署到这些设备上,或者你甚至可能有设备和网络服务,它们是同步的,对吧?你有一个网络服务,你的设备可以与之通信。 We maintain and manage both the software on the device and the web services.
文档图像,掌舵图,Terraform模板这些都是你用来创建服务的,然后使用Connect来推动软件的构建,然后确保你可以自己完成整个平台的端到端开发。这可以归结为消费部分,这是我们今天要讨论的。有几种方法。我们有自己的JFrog分发平台,你可以用它来提供这些服务。我们有这些东西叫做边缘节点,它们是Artifactory的轻量级可变版本,你可以在其中发布这些服务。然后,您可以使用Connect平台来维护和管理实际设备本身。只是想让你知道,我们的实际分销平台在行业中被广泛使用。正如我提到的,我们有大量的客户,但如果你看过宝马的广告,他们说,“我们一直在更新我们的车辆,所有最新和最好的,”好吧,这就是JFrog。我们也处理其他公司,比如特斯拉和其他公司。
问题是,我们是做这些设备更新的公司,我们也有大量的公司生产物联网,以及利用我们的设备。所以理解这一点,当你看到它的时候,你有JFrog Connect,它可以是你在这里做的任何事情,无论你是使用Edge Node服务器继续分发软件如果它们是大规模构建到像web服务这样的东西。然后,你有了可以使用Connect的物联网设备。不管你是怎么做的,我们有一个分发平台可以让你进入并快速部署和实际维护它,并监控和管理你所做的事情。我想讨论这个已经足够了。首先,我们来谈谈JFrog Connect。要使用Connect,实际上你要做的是,首先,你可以去我们的网页查一下。它会把你重定向到这里,如果你愿意,它会把你重定向到connect。jfrog。io。很棒的是,它首先会跳出来要求你输入密码。
现在,如果你需要的话,你可以进去,顺便说一下,如果你输入JFrog Connect,如果你进入这里,我没有定价,但是如果你进入JFrog Connect,它会把你带到连接页面。一旦你进入这里,你就可以注册免费试用,或者直接登录。当你登录时,它会把你带到这个页面。我将使用我的JFrog ID。现在,它要做的第一件事是,验证你是谁。它会说,哦,好,你有一个有效的ID,我确实有。然后它会问你,我是否想要独立登录?我想登录谷歌吗?我想登录GitHub吗?因为我们处理这两个,我不打算做这些,但在我的例子中,我实际上是将我的连接到我的JFrog平台。 I’m actually connecting it to my SaaS instance, which I have right here.
我将继续登录,一旦我登录,它将做的是,首先,在我的例子中,它将进入我的SaaS实例。我要用谷歌搜索一下。它会允许我进入,因为我们支持单点登录。它会将我从实例重定向到实际的Connect页面。现在,让我们看看这里的东西。我首先看到的当然是仪表盘。好的,然后仪表盘,我得到一堆信息。首先是我的舰队。这些是我的设备。如你所见,我有一个离线的,还有一个在线的。 You can see I have three in my fleet and we’ll go there in a few minutes. You can also see live alerts. Is there any resources that are being consumed? Is there any processes that are over the top, or any data that’s being consumed? I also have a list of notifications on the side here.
在这种情况下,它们会让我知道,可能发生了设备更新或者可能是在线或离线。我也可以看到,在我所有的设备中,我用的是哪个版本的软件。因为你可以做的一件事是,你可以创建应用程序。应用程序是什么,它可以是单独安装的组件,也可以是一组组件,你实际上可能会在一个名称下对齐。你可以说它是1.1版本,而不是1.2版本。这些会让你知道你拥有的所有设备,哪些设备是当前安装的,哪些设备是未安装的。你可以得到一个概览。如果你看这里,你可以看到我这里有一个,它是1号。我有一台设备安装了这个更新。您还可以看到一段时间内注册了多少设备。 And because we do location data, you can also see where are these devices on the map. I’ve got devices all over the globe, and you can see that these are offline and these are online.
我们要去的下一个页面是设备,因为我们要做的下一件事是我要展示如何注册一个设备。正如你所看到的,我这里有几个测试设备。我有一个设备目前处于激活状态。我会讲功能,然后我们会注册一个设备。如果你看这里,你会看到在这个例子中,我选择了设备。你可以看到那里有设备ID这是一个在注册时设置的任意值。你可以看到它有一个名字,这个名字是我碰巧给它取的。你可以在这里看到设备的状态。要么在线,要么离线。如果它有[听不清00:16:50]功能,它将是橙色的,在那里你可以做遥控之类的事情。 This is actually a Raspberry Pi I have sitting somewhere else. What’s great is, if I click on here and once the client’s installed, if I want to get access directly to the device in question, I just have to click on it.
它现在要做的是,因为设备正在调用出站,它实际上是通过这个,建立一个密钥交换来连接到设备,以确保它是安全的,然后你在设备之间打开一个加密连接。我点击连接,最棒的是,它立刻把我带到一个直接进入设备的外壳中。正如你在这里看到的,我只是在做一个LS-SLA。如果我想检查设备的状态,我总是可以做一个快速的H顶。我确实想过这个问题。我只是快速地导航到这个设备,立即连接到它,我可以在任何时候进入这里,运行任何我想要的命令。我也可以让你知道最近的状态更新是什么。这意味着,如果我推送一个更新到这个设备,他们是成功了还是失败了?这给了我即时的状态,当我做大的群体更新。您还可以看到我当前运行的应用程序的版本。 I can also monitor processes.
现在,这个是针对SSH的。稍后我将向您展示如何添加所需的其他进程。如果我想的话,我可以给它加上标签。我可以创建一个名为test的标签,点击添加,现在我有了一个名为test的标签。我可以对标签进行搜索。我还可以创建组。我可以给组起个名字。我可以继续说,我想要基于特定的组层次结构来做吗?这些是你定义的东西。所以你可以说他们在测试设备,生产,他们可以是基于区域的,无论你想要什么。 But also too, anytime I select a device, I get some instant information below. First of all, some generalized information about it. I can go in, I can change the name. I can do some edits to this device if I wanted to, like the device name. I can also move it from one group to another. Say I want go ahead and do a test like this, I can say I want an automatic location or a manual location.
我也可以说,你知道吗?我想要一个更新触发器。什么是更新触发器,当设备离线时有人将它关闭并移动,它回到线上,它会继续检查设备的更新。我还可以继续监视特定的进程,找出它在哪里。如果我想,我也可以得到这个外部IP地址。除此之外,顺便说一下,你可以看到CPU或速度。我还可以继续,如果我想的话,我可以获取任何我想要的日志或更新历史。如果你看这里,你可以看到我实际上可以得到所有的设备信息关于它何时更新,如何更新,是否成功,是否失败?我还可以查看API日志?我现在不打算这么做。 But then below this you can see, I’m actually going to go ahead and you can see if there’s any alerts. I can also show you, is there any data monitoring?
这样我就可以进去了。这些是我稍后会展示给你们的设置。还有,我可以对设备设置任何我想要的命令。我甚至可以创建基于程序的命令,我可以继续说,比如,获取网络。我要去跑个步。这实际上会运行一个远程命令它会发送一个命令到设备。它要做的是,一旦它把那个命令发送给设备,设备就会执行那个命令。在这种情况下,现在没有什么要展示的,因为我认为这个设备,哦,我们开始吧。设备信息回来了,这些是我在设备上运行的所有东西。我实际上有能力得到我想要的输出。 Well, let’s go ahead and let’s actually go register a new device. I actually have a new Raspberry Pi that I got. Actually, I have Homebridge.
我有很多Alexa设备和谷歌设备,但我也是苹果的粉丝,所以我希望能够真正地去控制这些设备。我将添加一个新设备,我将向你们展示。我们将现场直播。让我们看看会发生什么。首先,你要知道,我们所有的医生都在这里。在文档中,你可以看到我们有register device。你可以注册单个设备,如果你愿意,你也可以大规模注册一个设备,对吧?我们有关于如何去做的说明。同样,如果你使用Yocto为你的设备构建图像,你可以到这里我们会展示如何将我们的客户端烘烤到实际图像本身。在我们的例子中,我们将非常简单地处理它。 I’m going to go in and click register device. Very easy. I choose whether I want to do a root user or I want to do a regular user.
它在这里生成一个命令,您可以在剪贴板附近复制该命令。它将要做的是,它将要安装JFrog Connect客户端。它还会关联一个唯一的ID。这是您的实例的ID。我还可以添加设备名之类的东西。我可以做根名。如果我想这样做,我也可以做软件版本。如果你看这里,你可以看到这是我的设备名称的一个例子。我们开始吧。让我们以root用户的身份。 I’m going to copy the clipboard, which I just did. I’m actually going to go ahead, I’m going to go over to my shell. Just to let you know, this is a real live device. This is a Homebridge server. I’m actually logged in as root in this case. I’m actually shelled into it. I’m going to go ahead and paste this command in. I’m also going to add in a flag. The flag in this case happens to be the device name. I can say equals, and in this case, I’m going to call it, Homebridge, right?
让我们开始吧。我们按回车键。不喜欢我的结局。是双头吗?啊,我们会回来做的。哦,对不起,我弄错了。我的坏。就像我说的,他们改变了其中一个命令,但让我们继续。现在它要开始了。它实际上把实际分量降下来了。 It’s going to go ahead and install it. It’s going to take a few minutes, but let’s go back and look, and let’s go look at my connect here. Let’s go ahead and see if the new device is going to be on here. We’ll go take a look. Oh, I hit the wrong button. Oh, you know what? I don’t think I have… Oh, it’s going to take a minute for it to connect. Here we go. We’ll come back and we’ll get it because it is going to take a minute to actually get here. Let’s see here. I can do a refresh, I believe. There we go. We’ll let it come back up, but in the meantime, let’s go ahead and we’ll continue.
我们也可以在这里做提醒之类的事情。如果你看这里,你可以看到所有的提醒。实际上你也可以继续,配置任何新的警报。这允许您创建警报名称。你可以创建一个通道,比如电子邮件通道,你想通过这个接收电子邮件,或者你可以创建你自己的通道根据你想做的事情,无论是电子邮件还是web hook,或者类似的东西。还有一个好处是,你可以在任何时间点用这些东西进去。你可以说是什么样的警报。是否有资源或监控?然后,你还可以说,你可以将它应用到所有设备或者你可以继续选择组。你可以通过特定标签,或者设备状态来做。 I can actually go in here by tag and say, test and apply it if I wanted to.
它的意思是,这个测试组中的任何设备,我都可以对警报进行监控,我可以说,CPU警报?我把我的电子邮件地址写进去。在这种情况下,我们说,billm@frog.com。我们来应用一下。好了。我们将创建一个警报,继续,创建一个警报。现在我创建了一个新的警报如果我有任何设备,如果它等于50%,给我发一封邮件让我知道哪些设备超过了那个阈值。人们利用我们做的最大的事情,当然是更新,在这种情况下是软件更新。现在,你看到的是当你第一次进来的时候,是部署。这是您部署更新的地方,无论它是什么设备。 What it does is, it lets you know when it was run, the name of the actual deployment ID. You can actually see here where we’re going to let you know, is it pending? Is it in progress? Has it succeeded or has it failed?
在这个例子中,我只对一个设备做了一个快速更新,但我会在一分钟后告诉你如何再做一次。就像我刚才展示的,你可以有更新流你可能会定期运行。你可能有常规的基础流,你可能想一直运行。它可能会说你得到了某个东西的最新版本。我们来创建一个流,然后发送一些东西到设备本身。让我们来看看。让我们创建一个流。流是创建这些设备更新的一种方式。首先,它给流程起了一个名字。您可以选择之后重新启动设备,还可以具有回滚功能,这样就可以启用通用回滚。 It will store the name of the previous version, and if it fails, you can have it go ahead and reinstantiate that version. But you can also do things, like run a command. So, it would run a command. You can go in and say whatever you want to do.
这是一个shell命令,所以它可能是这样的。上面写着“Hello Connect”。你可以说,“Echo。你好。”哦,要是我今天能打字就好了。“Hello Connect”,对吧?我们就说,“你好。”如果它因为某些原因失败了,我可以继续更新等等,我们会保存这个动作。现在我有一个写着"你好"的如果我想的话,我也可以运行脚本,对吧? Now the script, when you do it, it allows you to go ahead and drag and drop the actual script in here. It’ll execute. You can also say how you want to execute it. Do you want to run it? Are you expecting a specific code back? Of course, have things like failure. The big one is, what we’re going to do in our case is, we’re going to go deploy a file. Now, deploy a file is the same idea, so I can go in and find something. Maybe I want to go ahead and I don’t know, let me go for a download for a second. I’ll just go and whatever. Oh, you know what I’ll do?
好了,我们来看看我的文档。我们会去JFrog,我们会去我的物联网研讨会。之后我会和你们分享。我们去编码,我有一个信息文件。好了。在这个例子中,我将把这个部署到斜线路由中。我们去那里吧。我要上传一个文件。我要推它。如果它失败了,我将继续说,停止它,我们就这样做。 So let’s just call it, test blah. This works, and let’s save this flow. Yeah, let’s do this. I don’t have rollbacks enabled. That’s okay. Let’s go ahead, we’re going to process the file. It’s going to upload it and store it. Let’s go ahead and let’s see if I can go ahead and deploy this. I’m going to choose a version. In this case, I’m going to say I can do the create an app. An app means I can actually aggregate a bunch of calls together. I’m going to say, in this case, I’m going to say four. I’m going to call it that.
如果我想的话,我可以安排一个退出,所以我可以说我想什么时候部署它。让我们来创建这个参数。让我们来看看。哦,我有选中的设备。如果我那样做可能会有帮助。让我们说具体设备。比方说,测试一。这里是我的测试设备,点击next。我将完成,现在我将继续并创建部署。是的,让我们运行部署。 What’s great is that, when this deployment starts, I can go in here, click on monitor, you can see that it’s pending. It went to in progress, and it was successful. I just deployed this to this device. I can go in and show you, here’s actually what was run. I actually placed this one in text, this message dot text into route. Let’s go back and take a look.
如果我回去看一下我的概述,让我们看看我的设备,让我们继续我将进入我刚刚发布到的设备,只是为了给你们展示。我们联系了。开始吧。好了。我们在建立联系。和连接。我们继续吧。现在,让我们建立联系。我们去CD/route吧。我们开始吧。 Excellent. I’m going to his LS-SLA. There it is, my message about text. I just actually pushed that text to the device, right? Very simple and straightforward. What’s also nice though about these kind of updates, is that these flows, besides doing that, you can also do things like, deploy a docker image. So in other words, back in the days when I started this, a lot of the devices were initially the first set of builds that you would do with CNC plus plus. Then, it moved over to Java and OSGI. Now services on devices are rendered with low level, small versions of OCI images for Docker and using BusyBox and others.
但是你可以继续说,因为Artifactory是一个docker注册表,你实际上可以使用Artifactory中的注册表,顺便说一下,它比大多数其他注册表,或者市场上几乎所有的注册表都要好得多。你既可以使用Docker的组合函数,也可以使用单个函数。在这个例子中,因为我们连接到我的JFrog平台,如果我想,我可以跳转到我的JFrog平台。我可以找到我自己,在这种情况下,我只是碰巧在这里的码头图像。我可以进去,我可以说,好,这是我的路径,这是我要部署的图像的URL。我可以到这里连接,然后说,你知道吗?我要部署编号image151,我要说,在这个例子中,151是我想要的图像。
我想继续添加一些额外的功能。当我部署映像时,我可能想要重启,我可能想要删除之前的映像,我可以在这里做,对吧?所以,腾出空间。然后我还可以在上面继续,这里我可以说,Docker, deploy, deploy app,等等。如果失败了,我就继续执行,或者我可以继续说,你知道吗?实际上,我想回去并回滚它我想继续说,重新启动前一个容器,因为我要保留它。我甚至可以在这里说,如果是这种情况,也许我不想删除之前使用的图像,但也许我会在它完成之后运行它,然后我们可以保存它。
但我们也可以继续做Git之类的东西,对吧?所以你也可以说go ahead。你可以在这里添加你的Git账号。实际上,你可以说你想从Git中取出什么文件,或者整个文件。把它发送到设备上。在那之上,如果你在使用Artifactory,除了标准Docker注册表之类的东西,你还可以拉出任何你想要的文件并将它部署到设备上。您可以添加任意数量的工件。顺便说一下,所有这些东西都可以,你可以用同样的想法编写脚本并使其具有api功能。同样,如果你熟悉发行版,我们有发布包,这是一种将所有软件组件聚集在一起的方式,比如Docker映像和helm charts等等。
这也允许您进入并从Artifactory本身的发布包中提取这些图像,并创建这些工作流。最棒的是,你也可以制作非常复杂的工作流程。现在,另一个很酷的特性是,你可以拉出日志文件。你可以拉出你想要的设备日志文件。你可以指定一个设备,你可以指定你想要的特定路径,然后点击取回,它会随时从设备上提取日志文件。我们已经讨论过我们这里的遥控器了。你可以继续,选择设备,你也可以看到它最后一次连接是什么时候。你也可以,如果你在使用,比如VNC,或者任何Web View,或者任何类似的东西,你可以打开一个会话并使用其中一个。
因此,如果您使用VNC,设置您的VNC客户端,这将实际进行。如果查看这里,您可以看到可以在哪里添加VNC的远程选项访问。你也可以继续,我们有一系列的命令。这是我之前给你们展示过的命令,比如这是我从设备本身获取信息的F配置。你知道吗,你可以读取重启设备,你可以继续。这里有一个例子,我做了一个快速的LS。我只是想看看根本身是什么,这里我只发送route LSLA。任何你想要的东西,你甚至可以远程重启设备等等。然后,它归结为监控。有了监控,你可以继续监控任何设备,单个设备,组设备或集体设备。
您可以查看诸如使用率,ram,磁盘之类的东西。这是你可以进入的地方,你可以开始监控过程。因此,也许您想要在远程设备上监视一个进程。您可以继续并输入远程设备名称。你想要监控的过程,在这里完成。这将允许你进入并根据个人或团体来做。我喜欢的另一件很酷的事情是,你还可以做一些事情,比如监控……哦,我的鼠标好像卡在这里了。好了。我的鼠标断了。好了。 You can actually go ahead and also do things, such as every sort of data, from the temperature, network or anything like that. We have a lot of those.
您还可以在此基础上创建触发警报。最后,我非常喜欢的另一件事是,您可以创建防火墙规则来发现这些远程设备上的入侵检测。所以你可以继续写这些你可能想要应用到它的规则。所以当你看到我们在Connect方面所做的事情时,它非常简单。它不是一个非常复杂的产品,但它提供了很多功能。哦,如果你看这里,顺便说一下,它说我已经达到了我的设备限制。这就是为什么我之前不能这样做的原因,因为我实际上忘记了升级我的帐户。所以,如果我们想的话,我们可以进入这里,我稍后会进入,我可以点击改变。我们这样做吧,我要删除设备。
我们开始吧。让我们看看它是怎么做的,嘿,看那个。我也不需要我的青蛙莓,但我们现在就开始吧。我现在就可以继续注册设备了,我应该有足够的信息了。它可能需要一分钟才能真正开始。让我们看看,我们可以刷新仪表板。嘿,看那个,这是我的新设备,我刚刚想做的那个。那是我的Homebridge服务器,我要进去说Homebridge。我应该把名字写在这里。好了,让我们保存更改。 Let’s do that. Yay. So now with my Homebridge server, I can go ahead, and let’s go connect to it, right? That’s the device that I stopped before, so there we go. All right, let’s connect and let’s see if I’m connected. It takes some time because this one’s actually, it’s funny, it’s sitting right here on my desk, I haven’t put it into its home yet. Here we go.
路线开始倒计时了,我应该在主桥服务器上。哦,你知道吗?实际上,它还在连接。没关系。哦,远程连接会话是…哦,不再是。哦,你知道吗?这就可以解释了,因为它现在可能离线了,因为我想我不小心踢了电源。好吧,那就到此为止吧。不管怎样,我该把它插回去了。但是非常感谢你们。 This is my quick overview of what you can do. Have a wonderful day. Be safe, be wonderful, be well, everyone. If you have any questions, please feel free to reach out with us. We could actually go ahead and give you a session, a deeper dive into this. We should definitely discuss things like software, supply chain, security, in terms of devices, in the next step [inaudible 00:38:03]. Have a wonderful day,

要么释放,要么死亡