你的远程仓库总是拉不到包,一个小妙招教你解决

Tommy744 等级 370 0 0

Artifactory作为外网代理仓库时,用户有时候是否会有经常拉不到包最新版本的包?或者拉包失败后一段时间内始终是失败,找不到原因,过了一会自己又恢复了?这篇文档带你详细了解一下代理仓库一些策略配置,让你更好的了解仓库的机制。

你的远程仓库总是拉不到包,一个小妙招教你解决

  • 场景1:拉包失败后一直重复同样的错误

有一种情况是当你去请求一个不再缓存中的包时候,由于当时可能不确定的原因出现了失败的情况,但是当你再次尝试,并且确定服务器已经可以正常下载的这个包时,去远程仓库请求,始终是下载不下来。正当你排查了一段时间,百思不得其解时,抱着死马当活马医的心态尝试下载时,奇迹般的发现居然可以下载了。

这个问题的原因当Artifactory去远端下载包失败后,会缓存这个失败的状态一段时间,避免频繁去外网恶意请求。假设我们网络稳定的情况这个情况是比较少见的,但是由于目前很多公网源都在国外,导致国内用户使用国外源,网络稳定性使用无法保证。这也就是为什么会出现我们前面说的那个问题出现的原因。

不过,这个缓存的状态的时间是可以调整的,具体位置在仓库配置页面的advance→cache→Missed Retrieval Cache Period (Sec),这个参数为缓存失败状态的时间,仓库如果没有做任何配置的话默认是1800秒,也就是半小时。当出现上面情况的问题是,将这个参数调整为0,就可以立刻触发重新去外网下载。

当然常规时间还是建议配置一定的缓存时间,减少去外网的请求频率。一定程度上可以提高仓库的工作效率。

你的远程仓库总是拉不到包,一个小妙招教你解决

  • 场景2:外网有新包,下载时无法获取到

这种情况尤其是在Npm使用时很常见,由于Npm快速迭代的特性,很多开发者不喜欢在自己引用的包上指定版本号,默认使用latest版本。这样在自己本地开发和使用公司内网开发时会发现,使用本地连接外网开发的版本和内网连接制品库获取的版本不一致。假设版本不同版本间没有明显的功能差异还好,但是如果刚好是组件迭代了一个新的功能或者方法,本地开发时候引用到了,这时候会导致整个项目的Bug。

这个问题主要原因是制品库获取远端仓库是有索引的,而这个索引在制品库中也是同样有缓存的,比如当前更新过一次索引,那么仓库一段时间内是不会再次去更新的,这个目的也是为了减少仓库去外网请求的频率。

当然这个与上面的内容一样,也是可以配置的,具体位置在仓库配置页面的advance→cache→Metada Retrieval Cache Period (Sec),就是仓库更新索引缓存的时间,仓库如果没有做任何配置的话默认是7200秒,也就是两个小时。当出现上面情况的问题是,将这个参数调整为0,就可以立刻触发重新去外网更新索引,这样就可以获取到最新版本了。

你的远程仓库总是拉不到包,一个小妙招教你解决

  • 场景3:使用的代理,但是无法获取到包

配置代理后发现无法拉包,但是测试代理下载没有问题。一般情况下来说,这之后需要去确认代理是否支持Head请求,远程仓库代理下载时为了会使用Head去校验包是否存在,但是由于代理不支持Head,导致请求失败,无法触发下载。

当确认下载无问题时,并且公司内代理由于安全管理问题,无法支持Head请求,可以使用参数配置跳过,直接触发包的下载。具体参数如下图。

你的远程仓库总是拉不到包,一个小妙招教你解决

以上几个问题是使用Artifactory作为远端仓库代理时常见的几个场景。

本文转自 https://www.kubernetes.org.cn/9108.html,如有侵权,请联系删除。

收藏
评论区

相关推荐

运维监控系统——Zabbix简介
前言对于运维人员来说,监控是非常重要的,因为如果想要保证线上业务整体能够稳定运行,那么我们则需要实时关注与其相关的各项指标是否正常,而一个业务系统的背后,往往存在着很多的服务器、网络设备等硬件资源,如果我们想要能够更加方便的、集中的监
运维安全-信息安全
本文转自 ,如有侵权,请联系删除。
运维,关于监控的那些事,你有必要了解一下
作者 | 乔克 来源 | 运维开发故事监控是整个运维以及产品整个生命周期最重要的一环,它旨在事前能够及时预警发现故障,事中能够结合监控数据定位问题,事后能够提供数据用于分析问题。一、监控的目的监控贯穿应用的整个生命周期。即从程序设计、开发、部署、下线。其主要的服务对象有: 技术 业务 技术通过监控系统可以了解技术的环
数据库运维做些什么?
一. 数据库生命周期 结合软件生命周期、项目的开展,数据库的生命周期大致可分为这么几个阶段。 (https://imghelloworld.osscnbeijing.aliyuncs.com/8552b8c2942bb8ce23
一份DevOps工程师职责清单,待你查阅
如果一个组织的开发人员和运维人员是独立工作的模式,实施DevOps就需要对组织进行大的调整。因为,只有具备合适的组织人员,文化和工具来才能成功实施DevOps。根据显示,实施DevOps的最常见的障碍之一是员工缺乏技能。什么是DevOps工程师?DevOps工程师是一位IT专家,应该对开发和运维工作都有广泛的了解,包括编码,基础
你的远程仓库总是拉不到包,一个小妙招教你解决
Artifactory作为外网代理仓库时,用户有时候是否会有经常拉不到包最新版本的包?或者拉包失败后一段时间内始终是失败,找不到原因,过了一会自己又恢复了?这篇文档带你详细了解一下代理仓库一些策略配置,让你更好的了解仓库的机制。 场景1:拉包失败后一直重复同样的错误有一种情况是当你去请求一个不再缓存中的包时候,由于当时可能不确定的原因出现了失败的情况,
洞察秋毫——JFrog日志分析 协助监视Docker Hub上的拉取操作
一、背景大家已经注意到,Docker Hub现在开始对镜像拉取进行限制,无论是免费的匿名用户,还是认证用户。在六个小时内,从一个IP地址镜像拉取的请求次数超过固定阈值(匿名用户100次,认证用户200次)后,Docker Hub就会限制其拉取带宽。虽然用户仍然可以拉取到Docker镜像,但是速度要慢得多。您可以阅读我们之前的博客文章《绕开Docker
uni-app入门教程(6)接口的扩展应用
前言本文主要介绍了接口的扩展应用:设备相关的接口包括获取系统信息、网络状态、拨打电话、扫码等;导航栏的动态设置;下拉刷新、上拉加载更多的实现,通过动作链获取节点信息;用条件编译实现小程序、APP等多端兼容;提示框、Loading、模态弹窗等的交互反馈。 一、设备相关 1.系统信息uni.getSystemInfo(OBJECT)接口用来异步
11个基于vue的UI框架_U.R.M.L
Element UI 来自中国,由与 Mint UI 相同的开发者所创建。Element UI 是用于 Web 和桌面应用程序的桌面 UI 工具包,如果你需要开发 Electron 应用,这个库会是你的理想之选。 iView 是一个 UI 工具包,其中包含简洁又设计优雅的小部件和各种组件。iView 团队维护非常及时,最近一次的更新在19年3
为啥要学Python?
为啥要学Python?如果我跟你说你现在用一天拉出来的财务统计表,学了Python之后能用1个小时就搞定,你学不学?如果你花了8个小时扒的竞品投放数据,学了Python之后能用30min搞定,你学不学?你总羡慕你的同事能6点下班,陪女朋友蹦迪夜生活丰富,你却在满脸油头的爆肝加班,学了Python之后,你也能这样,你学不学?如果我跟你说,学会了Python能增
人工智能数学基础-线性代数5:行列式求解线性方程组和拉普拉斯定理
一、逆序及逆序数在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。也就是说,对于n个不同的元素,先规定各元素之间有一个标准次序(例如n个 不同的自然数,可规定从小到大为标准次序),于是在这n个元素的任一排列中,当某两个元素的实际先后次序与标准次序不同时,就说有1个逆序
springboot+vue项目linux环境部署
项目部署是一个程序员必备的技能,当项目开发过程中,需要将项目部署在开发服务器上,进行自测,或协助运维,测试进行环境的搭建配置,学会了项目部署,你就是团队中最亮的那个仔。项目简介后端:springboot项目【打包为jar包】前端:vue项目【通过cli3搭建】目标服务器:liunx操作系统使用工具xshell:通过命令操作服务器sftp:上传安装包到服务器部
运维大佬嘲笑我,这个你都不知道?
大家好,我是阿沐,一个喜欢分享技术而且爱好写散文的程序员。今天来给大家介绍一下info命令查看redis具体的详细信息讲解!起因是:前几年我在老家郑州实习面试(那个时候还没有毕业)的时候遇到面试官提问;面试官来于百度总部的工程师6年java开发经验+3年多的PHP开发经验,我在他的面前基本就是弟弟中的弟弟,虽然勉强通过入职了,但是却被运维无情地嘲笑,就因为组
JAVA回调机制(CallBack)之小红是怎样买到房子的??
JAVA回调机制CallBack 序言最近学习java,接触到了回调机制(CallBack)。初识时感觉比较混乱,而且在网上搜索到的相关的讲解,要么一言带过,要么说的比较单纯的像是给CallBack做了一个定义。当然了,我在理解了回调之后,再去看网上的各种讲解,确实没什么问题。但是,对于初学的我来说,缺了一个循序渐进的过程。此处,将我对回调机制的个人理解,按
小红书很难爬?最新爬取方法教给你啦~
Python进击者第184篇原创文章前言大家好,我是Kuls。之前写的那篇App抓包软件charles的配置说过,超过30在看,马上更下一篇。所以加班加点给大家写了今天这篇文章。本文将会带着大家完完整整的爬取小红书的全过程 小红书需要做的前提工作就是装配好mitmproxy具体的配置过程,我建议大家参照崔大写的来进行安装https://zhuanlan.z