在使用NPM开发时,5种方法可以满足最后期限

Node.js已经成为当今最受欢迎的开发技术。别相信我的话,你可以看看Stack Overflow的2018年调查吗.如果这对你来说还不够,就来吧www.modulecounts.com看看公共开源NPM注册表中的包是如何远远超过其他技术的包的。

从检索https://www.modulecounts.com/2018年10月14日
所以每个人都在使用node.js,如果你不是,隔壁房间的人可能正在使用。既然我们已经建立了,你将不得不同意你的npm注册表可能是你日常开发中最重要的资源之一,也是你花费大量时间的地方之一。2022世界杯阿根廷预选赛赛程和往常一样,时间是至关重要的。时间永远都不够,我们经常发现自己在为下一个迫在眉睫的截止日期而流汗。所以这里有五种方法来满足这些最后期限使用JFrog Artifactory和JFrog Xray。
1.保持您的远程资源和您的依赖关系更密2022世界杯阿根廷预选赛赛程切
在弗朗西斯·福特·科波拉的电影《教父2》中,迈克尔·柯里昂说:“……保持你的朋友
靠近,你的敌人就会更近”。并不是说依赖是你的敌人——除非它们突然被“打击”并从源头消失。
我们写了整个文章关于2016年发生的#npmgate(又名#unpublishgate)事件。你可以阅读细节在这里,但让我用一个tl;dr。基本上,两个开发人员对一个包的名称有争议。开发者B赢了,所以开发者A从npmjs.org上删除了他们的包。这一切都很好而且合法,但是有一个“小”副作用,即世界上一半的构建都开始失败,因为它们需要Developer A的包作为依赖项。尽管如此,还是有一些人继续编码,好像什么都没发生一样。那些都是快乐的开发者Artifactory作为他们的npm注册表.
您可以看到,在使用远程存储库时,Artifactory在远程存储库缓存中保存为构建下载的所有依赖项的本地副本。这确保了依赖关系始终可用,无论远程资源宕机、被删除(咳咳!),还是网络异常不稳定。但是为了获得更大的收益,拥有所有这些依赖项也意味着您的(以及您的构建服务器)npm构建将会更快,因为从本地网络访问它们时没有延迟。

2.确保你的npm注册表安全可靠
我们都喜欢开源组件。它们是当今许多软件开发的核心。但是我们使用的开源组件将许多依赖关系拉进了我们的软件。甚至是npm包本身拉入数百个依赖项.但是很多开源依赖关系都很普遍安全漏洞代码中的安全漏洞的后果可以是“小到没什么大不了”,也可以是下一个Equifax丑闻。如果出现这样的事情,你不可能在最后期限前完成,对吧?
幸运的是,您可以采取一些措施来避免安全漏洞。你看,Artifactory有一只看门狗叫JFrog x光它会持续扫描你的NPM注册表以寻找安全漏洞,如果出现漏洞,它几乎可以做任何你想做的事情。
你可以定义手表使用任何级别的粒度来捕获易受攻击的组件,然后,如果一个组件被捕获,您可以定义政策从在x射线UI中显示通知,到触发webhook.一旦发现被感染的组件,Xray甚至可以阻止从Artifactory下载该组件,从而阻止团队中的其他人使用该组件。Xray的伟大之处在于它扫描组件及其所有递归依赖关系,剥离每一层,直到清除系统中的每个开源组件。如果在某个依赖项的某个地方发现了潜伏的漏洞,Xray将进行影响分析,向您准确地显示哪些组件使用了该漏洞。
3.知道你在做什么
不,我不是说你要承诺哪个Git存储库,我说的是法律义务。是的,您正在使用的所有开源组件及其依赖项都带有开源许可证,您在使用它们时必须遵守该许可证。当你在截止日期前一微秒就要发布时,你最不需要的就是“合法”的人因为你使用了他们没有批准的许可证而大闹一场。x光又来拯救我们了。
就像Xray可以清除安全漏洞一样,它可以为您的依赖项中使用的任何被禁止的开放源码许可证提供早期警告,并防止它们进入您的代码。是的,保护安全漏洞的监视和策略也可以检测不需要的OSS许可证。因为x射线持续扫描你的NPM组件,你会收到通知,即使a其中一个组件中的许可证发生了变化.如果那个西装革履的家伙走进你的办公室说:“嘿,我听说你的npm组件使用了数百个依赖项。我需要其中所有开源许可证的列表。”而在以前,这意味着你不能回家吃晚饭,明天的截止日期是吐司,现在,这只意味着你需要运行x射线许可证的报告在你开始收拾行装出门之前,明天的最后期限已成定局。
4.做好应对自然灾害的准备
我说的不是地震和飓风,我说的是硬件故障、短路和其他可能导致服务器宕机的事情。因为,如果那个服务器恰好是你的npm注册表运行的地方,那么,这个截止日期又会到来。当然,除非您正在使用Artifactory。你看,使用Artifactory,你的npm注册表可以高可用性.是的,Artifactory可以设置为一个多节点集群,所以即使其中一个节点宕机,其他节点也可以处理你的npm push和npm pull请求,而你甚至不知道发生了什么。在高可用性配置中,Artifactory提供高达5个9的可用性这意味着你的NPM注册表每年关闭的时间不会超过5.26分钟。即使这些时间是同时发生的,你仍然可以在截止日期前完成任务。
5.要有万国的血统
我们已经确定几乎每个人都在使用npm。所以,手头有你的内部npm注册表是非常棒的。但是隔壁房间里和Bower一起做前端开发的那个人,或者需要做前端开发的DevOps人员呢管理他们的舵图在某种程度上。然后,当然,你会想把你的软件打包到Docker映像中,并把它们作为微服务运行。所有这些技术都需要一个安全的私有存储库来管理不同的包及其依赖项。
好消息是作为一个通用工件存储库, Artifactory不仅是一个npm注册表,而且是一个码头工人注册表,鲍尔注册表,舵图存储库事实上,它管理工件超过20种不同的技术.尽管Artifactory是通用的,但对于npm开发者来说,Artifactory就像家一样。Artifactory的包查看器在使用NPM注册表时,提供一种原生体验,允许您在存储库范围内按版本、范围甚至校验和搜索NPM包,并且搜索结果显示特定于NPM的元数据。您可以找到一个包的所有版本及其相关关键字,并深入到一个版本以查看完整的详细信息。

你知道了。Artifactory和Xray以五种方式帮助你做你最擅长的事情,并且不受网络延迟、缺失依赖、安全漏洞和OSS许可策略的阻碍发布代码。但这只是表面现象。Artifactory还提供细粒度访问控制,构建集成,高级搜索,广泛REST API还有很多很多。
有了这些触手可及的能力,你不仅能在最后期限前完成任务,还能超越它们!
