无法访问GitHub非科学上网解决办法
1、问题背景 国内访问 GitHub 经常遇到”抽风”——时而能打开时而打不开,git clone、git push 超时失败,或者页面加载极慢。这是因为 DNS 解析到的 IP 被干扰或不可用导致的。 一种简单有效的非科学上网解决方案是:修改 hosts 文件,让 GitHub 相关域名直接指向可用 IP,绕过 DNS 污染。 2、github...
一个开发出身的DevOps工程师
1、问题背景 国内访问 GitHub 经常遇到”抽风”——时而能打开时而打不开,git clone、git push 超时失败,或者页面加载极慢。这是因为 DNS 解析到的 IP 被干扰或不可用导致的。 一种简单有效的非科学上网解决方案是:修改 hosts 文件,让 GitHub 相关域名直接指向可用 IP,绕过 DNS 污染。 2、github...
1、从原生JS到现代前端 在大学的时候已经自学过 HTML5、CSS3 和 JavaScript,并纯手工编写博客系统用于个人博客写作,以在学校内网分享技术文章。 但很早也已知道,随着 Google V8 引擎、Node.js 的到来,Web 前端开发已经变了样:前端是真的需要开发了! 最近由于需要开发一个构建分析平台(Web 平台,用于分析项目...
文明与强大 有个误区,一定是先进淘汰落后,一定是文明取代流氓。 真相是先进可以淘汰落后,但被取代的不一定就落后。 文明可以取代流氓,但被取代的不一定就是流氓。 流氓也可以淘汰好人。不代表流氓就更文明。同样的,时间线后出现的,也不一定就更先进。 如果崇尚的是丛林法则,就谈不上文明。弱小的人也可以文明,就像普通人,文明但平凡。文明是信仰,文...
前面三篇分别聊了 Nexus、Harbor 和 JFrog Artifactory。你可能已经注意到,它们三个的重叠地带并不大——各有各的主战场。但这不意味着选型就很轻松。除了工具本身的特性,你还需要考虑团队的规模、技术栈的构成、预算的约束、以及最重要的——制品清理策略。没有清理策略的制品仓库,就像一个从不倒垃圾的厨房。
如果说 Nexus 是“够用的私服”,Harbor 是“专业的容器镜像仓库”,那么 JFrog Artifactory 就是“想把所有格式的制品都管好的企业级平台”。它不便宜,但很多上了规模的企业选择它,原因也很简单:Nexus 搞不定的事情,它搞定了。
如果你在用 Docker 和 Kubernetes,你一定需要一个靠谱的镜像仓库。Docker Hub 速度慢、有拉取频率限制,不适合作为生产环境的基础设施。而 Harbor 几乎是这个领域的最优选——它不仅是镜像存储,更是一个完整的镜像生命周期管理平台。
说到制品仓库,Java 开发者最先想到的几乎一定是 Nexus。这不奇怪——从 Maven Central 的代理缓存,到内部私服的托管,再到 Docker 镜像和 npm 包的存储,Nexus 几乎是 Java 生态里“默认的制品库方案”。但这不代表 Nexus 没有自己的门槛。从安装配置到日常运维,有不少值得留意的细节。
想象一个场景:你接手了一个运行了三年的项目,现在要升级某个依赖库。你想知道“从 1.5 升到 2.0 会有什么影响”,于是去翻这个库的发布记录——结果发现 CHANGELOG 里只有一条:“Bug fixes and performance improvements”。你是不是很想把电脑砸了? 一个好的变更日志,是版本管理的另一半灵魂。版本号告诉你“...
你有没有经历过这样的场景:线上出了 Bug,需要回滚到上一个稳定版本,结果发现最近的版本号是 1.0.3-fix2,再往前是 1.0.3-fix1 和 1.0.3-final,而到底哪个是真正稳定的,谁也说不清。这就是版本号管理失控的后果。一个好的版本号体系,不是为了让版本号“好看”,而是为了让每一个版本的意义一目了然。
很多团队搞 DevOps,流水线搭了、K8s 上了、监控配了,但说到“发布”,第一反应就是“打一个 Git Tag,然后部署上线”。这当然不算错,但如果你把发布仅仅理解为“打 Tag”,那你可能会忽略一个关键环节:从构建产物到可交付版本之间,还隔着一个制品管理的世界。