JFrog Artifactory和x射线有什么新变化?

2020年绝对是值得我们所有人记住的一年。和你们一样,我们一直在家工作,应对各种新的挑战和流程。但是,当我们与您并肩工作时,我们将继续通过增强JFrog平台来实现卓越的价值。这包括所有产品的变化,允许更好的CI/CD编排、更好的二进hth华体会最新官方网站制管理、创新的分发、增强的安全性、创造性的混合架构和更好的端到端平台体验。以下是我们将在本次网络研讨会上介绍的所有新功能:

Artifactory

  • 新增支持的软件包类型:Alpine、Docker OCI、Helm v3
  • Docker费率限制调整

x光

  • 新的报表基础结构(也有API完全支持)
  • 忽略规则增强(API也完全支持,仅在API中有高级功能-例如通过基本docker镜像忽略规则)
  • 稳定性和性能改进

会议记录

你好,每个人。我很高兴今天能在这里和大家一起介绍JFrog x射线的新技术。我们度过了激动人心的一年。我们发布了许多新功能,今天我无法一一介绍。我们大约每两周发布一次,x射线中有很多令人兴奋的东西。我选择了三个重要特性,它们将帮助您在Xray中管理您的发现,这将为您提供更好的工作流程和更好的可用性。废话不多说,我们开始吧。

今天的议程:我将介绍第一个功能,即Xray报告,其中包括Xray的三个新报告:漏洞报告、许可证尽职调查报告和违规报告。接下来,我们将继续忽略规则。围绕Ignore Rules机制有许多令人兴奋的新特性:更好的粒度,基于时间的忽略。最后,我们将讨论多重许可新许可方法。好了,让我们从x光报告开始。

首先,这些都是全新的报告。我们过去没有这样的报告来帮助你收集和查看关于你的x光发现的见解。x射线检测漏洞许可证。它允许您定义关于您的遵从性或安全性的策略,这些策略会产生许多违规。到目前为止,您可以在工件或构建或包的级别中看到这些发现,或者在您的监视级别中看到这些发现,这是您在其中定义策略的范围。

现在,使用新的报告,您可以创建自己的作用域,其中可以包含存储库、多个存储库、多个回购路径,如果您使用的是我们的JFrog发行版,则可以包含多个构建或发布包。因此,它将帮助您在更大的范围内获得洞察,它还将允许您定义高级过滤器,缩小到您正在寻找的那些发现,比如根据严重程度或特定的CVSS分数或您感兴趣的许可证列表。

报告还允许您与他人共享报告。您可以将报告导出为CSV文件、JSON或PDF文件,然后您可以与其他人或其他应用程序共享它,因此我们可以获取数据并以您想要的任何格式进行切片。

那些新的报告将需要我们创建的一个新的权限角色。这个权限角色称为“管理报告”,您可以在用户级别或组级别赋予它。当然,我刚才告诉你的关于报告的一切,也可以通过我们的api来实现,就像JFrog产品的所有功能都是REST api的首要功能一样。hth华体会最新官方网站

废话不多说,让我们转到x射线报告演示。让我分享一下我的屏幕。好的。这是JFrog平台。你可以在安全和合规导航中看到,你有一个新的导航,这是我们以前没有的,这是报告。

在我开始之前有一件事:实际的报告实际上是作为一个时间点的报告。因此,一旦您在选择的任何范围或过滤器上生成报告,一旦生成,就不能更改。它对该时间点的数据进行快照,这样,您就可以保存报告,并且还可以获得关于生成报告的那个时间点的数据状态的历史数据。它不像实时报告,每次都在更新。您可以在任何地方通过平台查看实时数据,但报告只是在那个时间点生成并保存。

现在我们到了报告部分。您可以看到,我们有了已经生成的报表列表,我们可以生成一个新报表。让我们从漏洞报告开始。

你可以在这里看到,你可以选择报告的类型和范围。现在,如果您正在使用发行版,您可以选择一组存储库构建或发布包。让我们看看如何选择存储库。我可以从可用的存储库列表中进行选择,还可以在这个存储库中定义、排除或包含子路径。

一旦我选择了范围,我就得到了新的高级过滤器部分,我可以以更好的方式缩小我的结果。我可以通过易受攻击的组件进行过滤,也就是实际上检测到漏洞的组件。我可以通过受影响的藏物进行过滤。我可以通过特定的CVE进行过滤,如果我正在寻找一个CVE,或者如果我知道x射线中的问题ID,则可以通过问题ID进行过滤。我可以过滤,只看到报告的高漏洞,或中等,或从一定的分数范围。假设CVSS分数是8到10分。如果我感兴趣,我可以过滤漏洞发布日期的时间范围,例如,只对最近一段时间发布的新漏洞进行过滤。我可以根据工件的扫描日期或构建的扫描日期进行筛选,我可以选择查看所有的漏洞,或者只查看那些已经修复的漏洞,或者查找那些没有修复的漏洞。

让我们生成报告。一旦我点击generate,报告就会开始运行。我会看到进展的。我将查看报告中生成了多少行。我可以单击报表并查看报表的UI表示。你可以在这里看到部分信息,无论如何,都可以放到UI中,但你也可以点击“显示更多”来查看更多信息。在你的范围内,几乎所有我们掌握的关于这些漏洞的信息,你都可以在这里看到。分数,参考文献,描述,提供者,还有很多很多。

你可以在这里看到你的分数。分数实际上是由许多向量计算出来的。所以你可以看到它是如何除以向量的,CVSS 2和3。当然,您可以看到严重程度、易受攻击的组件、受影响的工件、路径、发布时这些漏洞的固定版本等等。当然,您可以将报告导出为PDF、CSV和JSON,还可以选择自己的文件名。就是这样。

继续下一个报告,您可以创建尽职调查报告。许可证尽职调查报告将收集您选择范围内的所有组件,并将显示在这些组件上检测到哪些许可证。通过这种方式,您可以为您的软件创建某种SBOM。比方说,许可证。演示。

现在让我们看看如何选择构建范围。这里有可用的构建名称,但我也可以选择使用模式。如果我知道我的所有构建都以“x射线-”或任何其他前缀或任何类型的模式开始,那么我现在将根据名称进行选择。对不起,我就买这个了。我可以选择只在我的最新构建上运行报告,这是有意义的,这是我想要做的,但可能在构建的几个最后版本上运行,可能是五个或十个最后版本。你想选什么都行。

然后我有这个报告的高级过滤器。我可以选择将其缩小到我感兴趣的许可证列表,就像我们之前的工件一样,扫描时间,我还可以选择根据未找到许可证的组件进行过滤,即“未知许可证”,以及可能是我们检测到的许可证,但在Xray的许可证管理列表中没有识别出来。这是另外两个有趣的过滤器。

让我们生成报告。报告再次开始运行。我能看到进步,这个有2363行。从这里,我可以看到它。我看到了细节。细节会告诉我,因为从那个点开始,就像我们说的,它是那个时间点的快照。我总能看到,我的作用域是什么,我的过滤器是什么,我为这个报告定义了什么。我可以导出,也可以删除如果这是我不再感兴趣的旧报告。

这就是许可证报告的样子。我看到驾照的名字了。我看到它是在哪个组件上被检测到的,它影响了什么工件,这是我选择的构建。当然,它可以是一个构建列表。还有许可证引用。这里我知道它是被认可的还是未被认可的许可证。我也许能找到使用许可不明的未知组件。这些是未检测到许可证的组件。如果我将自定义许可证分配给任何组件,我也可以看到。

最后一个报告是违规报告,同样,我可以选择范围。我会很快做的。这里我可以选择关于违规的过滤器。我可以选择只看到安全方面的违规行为,或者只看到许可方面的违规行为,或者两者都看到。我可以通过策略或手表进行过滤。我甚至可以定义手表上的图案。如果我想要某支球队的所有手表,它以某个前缀或类似的东西开头,我可以试试这个。同样,我可以通过组件或受影响的工件进行筛选。然后这里我有过滤器除以违规的类型,所以我可以选择如何过滤安全违规和如何过滤许可违规。同样,这些和我们在每个报告中使用的过滤器是一样的。

假设我只想要8到10的任何许可证,我会生成一个报告。好的。这是违规报告的样子。在查看安全违规时,我仍然拥有所有安全信息,让我们根据许可证违规对其进行排序。因此,在这种情况下,我将查看哪个许可证失败了该策略,违反的严重程度是什么,针对的是什么工件,等等。

关于报告还有一件事。在我们的上一个版本中,我们还添加了影响路径,这是为了防止某些违规是由不同的组件创建的,或者是由出现在不同路径的组件创建的……假设这是一个Docker映像,并且在该Docker映像的几个位置有相同的组件。然后,您将看到该易受攻击组件的所有不同影响路径,或者具有不允许的许可证的组件,因此您可以前往每个位置并修复它。这可以在导出格式和API中使用。

我将停止屏幕共享,让我们继续忽略规则。

好的。在我描述功能之前,忽略规则是什么?忽略规则是一种将已经创建的违规行为列入白名单或接受的方法。它可能由组织中的安全角色或法律角色批准,也可能由开发团队批准。

这可能有几个原因。假设您有一个漏洞,这是真实存在的,但是在您的环境中,您找到了一种方法来抵御这个漏洞,因此您可以忽略这个违反。也许您的环境或软件的条件不满足此漏洞实际发生的条件。也许这是一个有效的漏洞,但它不是一个引人注目的问题,我将在未来处理它,也许在几周内。现在,我不希望它让我的构建失败或阻止我的下载,这是我们的策略允许的一些操作。可能我有足够的SLA来修复这个问题,我有三个星期的时间,所以我想忽略它,但只是在一段时间内,一旦超过这个时间,我想再次得到这个违反。

因此,由于所有这些原因,我们有了忽略规则特性,我们的客户要求更好的粒度来定义这个忽略规则。在过去,您只能忽略手表级别中的某个漏洞或某个许可证上的安全违规,而不管它是在手表级别中的哪个组件、许可证上发现的。这一点也不灵活,因为假设您知道您可以使用这个GPL许可证将某个组件列入白名单,但是您想了解其他组件。您希望创建违例。你需要知道。你需要警惕。所以,如果你忽视了GPL,但不仅仅是在这个特定的组件上,而是在你所有的手表上,那么这是不够的。你正在失去对顺从的控制。因此,我们增加了一个更好的粒度。

现在你几乎可以根据你能想到的任何标准来定义你的规则。您可以选择通过某个漏洞忽略它,也可以选择通过某个许可忽略它,该许可实际上是在某个漏洞上创建的,或者在它们中的任何一个上创建,然后在组件或工件级别上创建忽略规则。

您可以选择只在找到它的特定版本中的特定组件上忽略它,或者您可能希望在您将获得该组件的任何版本上忽略它。假设现在您在107版本的某个组件上发现了一个漏洞,但直到2.X版本才会修复。因此,您不希望在每个版本中都重复创建用于违反的该组件的新版本。您可以说,“好吧,对于此组件的任何版本,我不希望此漏洞触发违规。”

或者你可以选择任何组件。在我的系统中,我知道我可以处理这个漏洞,所以请不要警告任何带有此漏洞或许可证的组件。我还可以选择在任何版本的工件或任何工件上执行,这也可以在构建中定义。

最后一个作用域是,要么只在创建这个违规的手表的作用域中忽略它,要么将它扩展到任何手表,这意味着在我的所有组织、所有系统上。我必须定义一个我忽略它的原因。有了新的忽略规则粒度,我们还开始保存被忽略的违规,以便您可以查看它们。你可以过滤,看看什么被忽略了,什么被激活了。你们可以在我之前给你们看的报告中看到。您可以看到所有关于谁忽略了它,何时,为什么,即使忽略规则被删除的信息,也会被审计并保存,以查看谁在何时,以及为什么删除它。

我们添加的最后一件事是基于时间的忽略,它让你可以选择忽略它,但不是永久的。您可以定义一个时间点,比如从现在开始的三周内,一旦超过了这个时间点,从那个时间点开始扫描的任何工件都将再次开始创建违规。所以白名单会在一段时间后结束。

让我们在演示中看看。好的,完美的。假设我现在在看…等一下。好的。我正在看一个NPM建立在x射线数据标签上的违规。这样我就能看到违规清单了。这里有执照和违反安全条例的人。我可以看到这里已经有一个被忽略的违例。让我们看看;我怎么能无视违规行为呢? You see here, I have a new icon in the end of a violation row. It’s an “ignored violation” icon. When I’m clicking on it, I’m getting this new granularity of defining my rule. I can define it, as we said, by license, by component, by build, or by watch or any watch. It is mandatory to explain why am I ignoring it, so let’s say I have an approval from the legal team. I can also choose to ignore it just for a period of time or just permanently, and create. Once this ignore rule is defined, this violation will no longer be created.

现在让我们看一下安全性忽略。所以现在它将基于弱点或任何弱点。和之前一样,所有这些范围。

现在,一旦我有了忽略违规,我就可以过滤那些被忽略的。我可以看到被忽略的,让我们点击其中一个。您可以看到有关违规的所有详细信息,还可以看到导致该违规被忽略的ignore规则的新详细信息。我可以看到谁创建了这个忽略规则,什么时候,原因是什么,范围是什么?

好的。最后一点。我将停止分享我的屏幕。当然,我向你们展示的所有东西都可以通过api得到,忽略信息和忽略过滤器也可以在报告中得到,知道这一点非常重要。就是这样。

让我们转向最后一个特性,即多重许可方法。有时,我们的组件具有双重甚至多个许可,这些许可可以是更宽松和更严格的许可的混合。可能是MIT和GPL。所以在过去,Xray策略总是采用更严格的方法,如果我定义了一个不允许的策略规则,比如说,GPL,一个具有GPL和MIT的组件总是会创建一个违规,因为其中一个许可证是不允许的。

我们从许多客户那里得到了一个请求,这使我们意识到,大多数情况下,组织希望采用更宽松的方法。因此,如果我在两个可用的许可证之间有选择,我可能会选择许可的许可证,而那些创建的违规行为只会导致需要忽略它,因为我有另一个允许的许可证,等等。

因此,我们在许可策略规则中创建了一个新的标准,允许您选择许可的方法。你可以在截图中看到,它只是另一个复选框。在这里,我可以选择允许的许可证列表,也可以选择禁止的许可证列表。但是,当我选择这种允许多个许可证的方法时,如果在组件上检测到的多个许可证中至少有一个是允许的,那么该组件将通过而不会触发违规,因为它至少有一个允许的许可证。当然,这将减少忽略多个许可组件上的违规的需要,并将更准确地用于您的用例。它也可以通过api使用。实际上就是这样。

我希望这些是关于x射线的好消息。当然,我们还有很多很多其他功能。欢迎您查看我们的文档和发布说明。废话不多说,下面请我的同事Ben来谈谈JFrog Artifactory和新功能。谢谢你!

谢谢你,Dganit。你好,每个人。感谢您参加本次网络研讨会。我是本。我是Artifactory团队的一名产品经理,今天我计划与您分享许多关于我们最近发布的最新软件包、类型、支持和重要改进的有价值的信息。但在我开始有趣的部分之前,我想利用作为产品经理的一分钟机会与你们分享我们在构建路线图时的引导;当我们做任何事情的时候,特别是当我们发布新技术的时候。

对于那些可能对Artifactory有所了解的人来说,从它成立到今天,我们一直带着同样的心态和同样的北极星。它始终保持相关性,始终是帮助开发人员和开发团队、DevOps工程师和团队自动化和简化他们的DevOps管道的最佳工具。

接下来,我想向您介绍我们最新发布的新包类型,以及我们在目前已经拥有的一些受支持的包类型中所做的重要增强。

我将从新技术开始。我很高兴地宣布:OCI和Alpine。然后,我将简要地介绍我们在Helm V3和RubyGems存储库中所做的一些改进,当然,它们在很长一段时间内已经得到了支持。最后,我将简要介绍Docker的最新变化,关于新的速率限制,它如何满足JFrog的平台,以及我们为了确保我们的客户了解并能够更好地使用Artifactory所做的事情。

对于那些不了解Alpine技术的人,我将从对Alpine的简短描述开始。Alpine是一个非常轻量级的Linux发行版。大多数人可能将它用作Docker映像和其他类似用例的基础层。Artifactory现在支持托管私有包,也支持从远程资源代理它们。2022世界杯阿根廷预选赛赛程当然,我们已经发布了虚拟存储库来帮助你聚合所有那些自托管包并代理那些第三方应用程序,第三方包,你想要获取它们来构建你的项目。

废话不多说,我想跳到一个简短的演示,向您展示我将如何在Artifactory中使用Alpine作为一个新的存储库。再等一秒钟,屏幕就会被共享。好的。

老实说,Alpine与你们大多数人可能熟悉的Debian APT命令的使用非常非常相似,所以我将介绍使用Artifactory的基本流程以及使用Artifactory的Alpine客户端。是的。

我从创建三个Alpine存储库开始。正如您所看到的,我们在“创建存储库”屏幕中添加了存储库。我使用快速的“设置我”来一起创建这三个:本地、远程和特性存储库。转到树浏览器,我过滤掉了Alpine存储库,使其更容易看到。现在我用得很快。正如您所看到的,远程存储库已经创建了所需的分支和体系结构,这些分支和体系结构是Alpine使用的一部分,您可以在已知的公共注册中心Alpine org中找到它。

在移动。转到虚拟存储库。“陷害我”。我正在输入我的凭据,以便在命令中使用它们。将帮助我轻松地从“设置我”部分复制,并在终端中使用它。使用该命令,转到我用来运行Alpine客户机的简单Linux容器。

运行第一个命令来连接我的客户端和Artifactory实例。我将转到客户端的存储库列表,并标记出这两个默认存储库,以确保在下一个流程中使用Artifactory。我现在正在运行APK更新,这将帮助我确保我正在使用客户端与我所需要的一切,再一次,配置和获取配置的存储库一个Alpine包。

正如您所看到的,我刚刚运行了一个APK,添加了“允许不受信任”标志的cURL。当然,只是我需要经过的流程,在接下来的步骤中使用cURL。“允许不受信任”标志是一个重要的部分。我想过会儿再碰一下。

我要回到"撮合我"那部分。正如您前面看到的,我使用了untrusted方法,这意味着我现在没有使用RSA密钥来签署我的索引文件。你也可以在“set me up”一节中看到,我们明确地说没有为这个特定的存储库定义RSA密钥对。我将使用部署流程。接受命令,回到客户端。

是的。运行相同的命令。

现在,我将刚刚从Alpine Linux获取的APK包推送到Artifactory实例。我从终端上得到了全部信息。一切看起来都很好。去阿尔卑斯当地,我可以在这里找到,APK刚刚推出了Artifactory。当然,一切都包括在内。包已经被索引。属性也被包括在内,并作为包元数据的一部分列出。是的。以上就是这一部分的内容。

现在我要回到我的Artifactory实例。我正在运行另一个带有“允许不受信任”标志的更新,并且再次从Artifactory获取APK包。

现在您可以看到,我只是获取了之前使用的确切的包。您可以在下载计数中看到它跳转到1,这有助于我理解我成功地完成了这个过程,并且我使用了我想要的包。我想这就是特定的流程。

我想快速跳到下一个,讲一下RSA签名。我们在Artifactory中添加了一些新功能,以容纳多个RSA密钥,并帮助您在想使用sign方法中的包时为索引签名。同样,我使用的是我们在前一个流中创建的同一个本地存储库。你可以看到,同样的包裹。当然,它现在是未签名的,没有RSA密钥。输入我的证件,复制命令,回到终端。

还是跟我的委托人竞争转到存储库列表。确保我现在不想使用的存储库按照我们想要的方式被标记出来。Artifactory在那里。太棒了。我又在更新APK了。你可以在这里看到不受信任的签名,这有助于我理解我仍然处于未签名模式。

在这里,你可以看到我一分钟前提到的注释,以确保你知道你现在使用的是无符号存储库,索引也是无符号的,你没有使用任何RSA密钥。

我将进入Artifactory管理,在一个新章节中,我们在安全章节中添加了这些RSA密钥对。我将进入添加新RSA密钥的新界面。如您所见,如果您愿意,您可以使用所有字段来推送和添加多个RSA密钥。当然,是私有部分和公钥。然后添加别名和密钥对名称,当然,这是必须的。如果您的公司组织正在使用这些密码,则使用密码短语。

好的,我们添加了RSA密钥。我要回到存储库并链接本地存储库。然后我们创建了RSA密钥。我要把他们两个一起救出来。现在我回到树浏览器,以确保我按照我想要的方式对存储库进行了签名。如您所见,索引文件已经使用RSA公钥进行了签名,现在,我可以使用与客户端中存在的私钥相关的签名方法中的“set me up”来执行每个命令。现在,您还可以看到“set me up”更改中的注释,它可以帮助您了解您现在使用的是一个使用RSA密钥对签名的存储库。

首先运行命令来配置存储库,现在可以看到在sign方法中获取APK包的相同流程。未签名的签名不在这里了。这就是这个特定的流程。

结果是相同的命令。在将RSA密钥对与本地存储库关联之后,我知道我可以以另一种方式运行,并确保我使用了获取或部署APK包的签名方法。

在讲下一个之前,我想确定你们是否知道。在QA部分提出一些问题。如果你有的话,我们会在课程结束时给你。

我直接跳到下一个主题,OCI。非常非常高兴在上面宣布。现在,Artifactory正式成为了OCI的注册机构。我们在Docker存储库中增加了对OCI映像的支持,这意味着您可以推送自己的OCI映像,从其他注册表中提取,并将它们缓存到Docker存储库中。

对于那些还没有听说过OCI的人,尽管我知道你们大多数人可能都熟悉它,但它是一个基于社区的项目,用于改进具有不同实现和需求的容器的运行时,它只是用于标准化容器映像的格式、容器映像格式和运行时。您的OCI映像可以容纳您需要和想要的任何内容。它可以是Helm Chart,也可以是Docker图像,甚至可以自定义一个对象。你可以通过OCI图像的新格式来保存每一个资源,现在你也可以在Artifactory中托管它。

客户端,当然,我们增加了对所有与OCI规范一致的客户端的支持;例如Podman, ORAS, containd, Docker等等。我们还选择将Podman添加到“设置我”部分——我马上会向你展示——因为它是目前最常用的功能之一,我们计划在未来添加更多功能。这取决于我们的客户和用户的声音。

我再次向您展示了一个使用Artifactory实例使用OCI的快速演示。同样,我使用Linux容器来运行客户机。就像我提到的,它是一个Podman。一个简单的随机图像拉的命令。为了演示,我选了Alpine。接下来,我将标记刚刚获取到我的Linux容器的Alpine包,我将用存储库的完整流程标记它,正如我们所知道的,我们为Docker映像所做的那样。然后,我将首先登录到我的实例,然后将刚才标记的相同图像推到本地存储库。这些是我的证件。登录。

好的。我正在为这个特定的标记图像运行push命令。没有找到。哦,当然。我需要确保我有存储库。只是想用一下,提一下。现在回到我的Artifactory实例。我正在创建存储库。当地。这是Docker牌的。 I will name it for the demo. No other configurations required. Okay.

回到终端,运行推送标签的相同命令,Alpine package image,我要回到UI确保它在那里。

进入树形浏览器,过滤出Docker。这样看就容易多了。正如您所看到的,图像已经带有OCI图像的新符号。你可以看到manifest.JSON。当然,这是图像的一部分。它下面的层。已经索引的图像的所有需要的信息。可以看到图像的层次。

此外,从包视图中,很容易搜索我刚刚推送的这个新图像。我将按类型搜索。“公盟”。这是新的。这就是我刚刚推送到本地存储库的Alpine映像。如果我有x射线数据的话,可以回去看一些相关的构建。它和之前的演示有联系。差不多就是这样。

我希望从树浏览器中共享更多的项,因此我将返回到相同的本地存储库,如果搜索特定的本地,就可以找到Alpine图像。我要去查舱单。为了确保我使用正确的模式和OCI正确地推送它,元类型是对齐的。你可以看到它下面的层。

我想这就是OCI的全部。因此,由于剩下的时间不多,我将转回去,谈谈我们对当前受支持的存储库所做的一些有趣的增强和改进。

第一个是关于RubyGems。在收到客户的几个请求后,我们增加了对Bundler客户端的额外支持,我们添加了一个新的索引。我们实际上重写了RubyGems存储库的索引,当然是三个:远程、本地和虚拟;并支持所有三个存储库的紧凑索引。为您提供兼容的软件包的最新版本,您安装的软件包的Ruby版本和项目。当然,这种类型的使用是由已知的Bundler客户端完成的,以前在Artifactory中已经支持了,但是现在,我们还添加了对紧凑索引的支持。

接下来,我将简要介绍我们对《Helm》所做的最新改进。我们增加了Helm V3, Helm 3格式的支持。Helm 3当然是API版本V2。有点混乱。在我们的711版本中引入的图表,所有的Artifactory都在JFrog平台上。主要的变化是依赖关系现在是从图表中提取出来的。而对于V2来说,它被托管在需求中。yaml为Helm V1一个图表。我们还在index中添加了新的字段。例如,依赖关系、注释、类型、多维数据集版本。我们还添加了一些AQL可搜索属性来帮助您使用它们。我们添加了注释、类型和API版本。 For the full field and list, please visit the wiki. It’s all there.

我将直接进入下一个主题,这可能是这部分改进中最有趣的。当然,这是Docker的最新发布,很多人都在使用它,在继续介绍我们在Artifactory中所做的改变和我们为云用户所做的改变之前,我想先介绍一下上下文。

我们刚刚宣布了一项重大举措,与Docker合作,使JFrog DevOps平台的云用户免受Docker hub映像池的限制。一些上下文:去年,Docker宣布了一项新的基于消费的限制,限制包含从Docker Hub提取的图像。具体来说,匿名用户每6小时只能拉100次,而经过身份验证的用户每6小时只能拉200次。

我们想走得更远,消除我们的客户在这些流程中可能遇到的任何摩擦,并作为他们生产环境和开发管道的一部分,所以我们宣布我们的云用户-那些来自最重要网站的最新人员-我们的云用户完全不会受到影响,即使是那些使用所有云提供商提供的免费订阅的用户,这意味着如果你正在使用云安装,你完全不需要担心那些新的拉力限制。您不需要进行身份验证,我们将为您设置,以确保您正在使用,并且您可以在任何时间内获取任意数量的图像。

在一个非常高的层面上,这意味着它通过让你访问你需要的Docker Hub映像来降低你的组织风险,并防止在你的构建和生产环境中中断。

我们也做了一些改变,技术上的改变,在Artifactory本身,以确保我们自己的主要用户不受影响,因为他们应该。所以我们引入了一些新功能。第一个是HEAD请求的使用。在此之前,Artifactory根本不使用HEAD请求,我们将所有请求路由为get请求。鉴于这些更改,我们希望确保您能够明智而正确地使用get请求。所以现在,你可以通过Artifactory使用Docker Hub,而不用担心任何不必要的get请求从你的实例发送到Docker Hub。

它的第二件事是增加默认的检索缓存周期,这是在指向Docker Hub创建的远程存储库中自动配置的。我们所做的一切都是为了确保你不会去取回并请求一些不必要的get请求那将被算作你自己私有容量的get请求。

在前三个版本中,我们已经添加了一些新的日志和消息,帮助您监控和理解来自Docker Hub或Docker客户端的每一个新响应,使其更广泛、更容易理解为什么您失败了,也许您已经达到了您现在使用的特定限制。

最后,我们添加了新的文摘Header,称为Docker内容文摘,它表示清单。JSON正文摘要并比较两者:远程清单和缓存清单。JSON使用另一个的SHA值。这样,我们可以延迟这两个请求,并确保只有在另一端发生变化时才发送get请求,以帮助您正确使用Docker Hub。

哇,好快啊。现在我们可以用剩下的三分钟来问一些问题。你可以通过问答环节删掉它。我们现在就买。当然,如果我们没有时间了,我们当然会通过电子邮件给你们所有人回复。就我个人而言,我想对你们说声谢谢,不仅感谢你们来到这里;也感谢你们使用我们的产品,并给予持续不hth华体会最新官方网站断的反馈。它帮助我们知道什么是重要的,我们下一步该怎么做,谢谢你。谢谢你们的到来。

要么快速释放,要么死亡