首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Apollo 源码解析 —— Portal 灰度全量发布

全量发布效果是: 灰度版本配置会合并回主版本,在这个例子中,就是主版本 timeout 会被更新成 3000 主版本配置会自动进行一次发布 全量发布页面,可以选择是否保留当前灰度版本,默认为不保留...选择了不保留灰度版本,所以发布效果就是主版本配置更新、灰度版本删除。点击主版本实例列表,可以看到10.32.21.2210.32.21.19都使用了主版本最新配置。 ?...因为子 Namespace 从父 Namespace 继承配置,但是实际自己没有那些配置,所以如果不清空,会导致这些配置被删除。...因为子 Namespace 从父 Namespace 继承配置,但是实际自己没有那些配置,所以如果不设置为空,会导致合并时,这些配置被删除。...方法,父 Namespace 进行发布。这块, 《Apollo 源码解析 —— Portal 发布配置》 逻辑就统一了,所以详细解析,见该文。

93910

可以说是一门奶奶级Git入门教程了

Git api很多,但其实平时项目中90%需求都只需要用到几个基本功能即可,所以本文将从 实用主义 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始目中动手用...,其中会包含当前配置用户名邮箱。...git branch -r 查看远程版本分支列表,加上 -d 参数可以删除远程版本分支 git branch -D 分支提交到本地版本前强制删除分支 git branch -vv...git stash “ Git 栈中保存当前修改或删除工作进度,当你一个分支里做某项功能开发时,接到通知把昨天已经测试完没问题代码发布到线上,但这时你已经在这个分支里加入了其它提交代码,这个时候就可以把这些提交代码存到栈里...是阿秀,人生最可怕事莫过于别人放弃你之前,你先放弃了自己,我们下期再见。 推荐?:《逆袭进大厂系列》(包含C++、操作系统、计算机网络、MySQL、Redis、情景题) 推荐?

1.7K40
您找到你想要的搜索结果了吗?
是的
没有找到

三年 Git 使用心得 & 常见问题整理

# 删除本地分支,会阻止删除包含合并更改分支 $ git brnach -d branchname # 强制删除一个本地分支,即使包含合并更改分支 $ git branch -D branchname...git reflog 查看本地历史,然后回复到之前版本代码,但是别的电脑上是无法获取你历史命令,所以这种方法不安全。...现在问题来了:你想要把它们当做两个独立项目,同时又想在一个项目中使用另一个。如果将另外一个项目中代码复制到自己目中,那么你做任何自定义修改都会使合并上游改动变得困难。...] # 当你克隆这样项目时,默认会包含该子项目的目录,但该目录中还没有任何文件 # 初始化本地配置文件 git submodule init # 从当前项目中抓取所有数据并检出父项目中列出合适提交...因为少数情况下即使预发布通过了,都不能保证正式生产环境可以100%不出问题;预发布环境配置,数据等都是跟线上一样;有些公司发布环境数据是连接线上环境,有些公司预发布环境是单独数据;如果不设预发布环境

2.7K50

保姆级Git入门教程,万字详解

Git api很多,但其实平时项目中90%需求都只需要用到几个基本功能即可,所以本文将从 实用主义 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始目中动手用...,其中会包含当前配置用户名邮箱。...类似,选择后 Git 会显示这些文件的当前内容与本地版本差异,然后您可以自己决定是否添加这些修改到暂存区,命令行 Stage deletion [y,n,q,a,d,/,?]?...git branch -r 查看远程版本分支列表,加上 -d 参数可以删除远程版本分支 git branch -D 分支提交到本地版本前强制删除分支 git branch -vv...git stash “ Git 栈中保存当前修改或删除工作进度,当你一个分支里做某项功能开发时,接到通知把昨天已经测试完没问题代码发布到线上,但这时你已经在这个分支里加入了其它提交代码,这个时候就可以把这些提交代码存到栈里

5.5K31

肝了几夜 Git 图解来了

Git api很多,但其实平时项目中90%需求都只需要用到几个基本功能即可,所以本文将从 实用主义 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始目中动手用...,其中会包含当前配置用户名邮箱。...update 类似,选择后 Git 会显示这些文件的当前内容与本地版本差异,然后您可以自己决定是否添加这些修改到暂存区,命令行 Stage deletion [y,n,q,a,d,/,?]?...git branch -r 查看远程版本分支列表,加上 -d 参数可以删除远程版本分支 git branch -D 分支提交到本地版本前强制删除分支 git branch -vv...git stash “ Git 栈中保存当前修改或删除工作进度,当你一个分支里做某项功能开发时,接到通知把昨天已经测试完没问题代码发布到线上,但这时你已经在这个分支里加入了其它提交代码,这个时候就可以把这些提交代码存到栈里

21230

说说真实Java项目的开发流程,以及面试前项目准备说辞

开发前,一般会基于git分支(master或dev或current)上创建一个新分支,比如202210dev分支,诸多程序员在这个分支上开发,然后约定个开发结束时间,这样到了这个月第三周结束后,这个开发分支上就包含了本次发布所需要代码...,然后这个发布版本就会冻结住,冻结意思是,发布版本需要稳定,不能随便再向里面提交并合并代码,在此基础上测试人员就开始测试。    ...202210dev001分支代码,得合并到202210dev这个发布分支,合并前,项目经理会指定其它开发者review代码,如果有功能或代码规范问题,我会修改掉。...6 自己做好业务模块后,会用junit写测试案例,如果junit不熟悉可以不说,但一定要说用postman发请求测试。版本发布时候,我会留守在公司,遇到问题我会排查和解决。...如果你能结合业务场景api说你项目你用过,这是零目经验求职者能做到最好程度。

69710

Git 从入门到放不下

Git api很多,但其实平时项目中90%需求都只需要用到几个基本功能即可,所以本文将从 实用主义 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始目中动手用...,其中会包含当前配置用户名邮箱。...update 类似,选择后 Git 会显示这些文件的当前内容与本地版本差异,然后您可以自己决定是否添加这些修改到暂存区,命令行 Stage deletion [y,n,q,a,d,/,?]?...git branch -r 查看远程版本分支列表,加上 -d 参数可以删除远程版本分支 git branch -D 分支提交到本地版本前强制删除分支 git branch -vv 查看带有最后提交...git stash Git 栈中保存当前修改或删除工作进度,当你一个分支里做某项功能开发时,接到通知把昨天已经测试完没问题代码发布到线上,但这时你已经在这个分支里加入了其它提交代码,这个时候就可以把这些提交代码存到栈里

2.2K31

你必须知道 17 个 Composer 最佳实践(已更新至 22 个)

所以我决定总结一些对日常工作流程很重要东西。 大部分技巧理念是「 Play it safe 」,这意味着如果有更多方法来处理某些事情,我会使用最不容易出错方法。...该开发完成后,实际项目中使用该,就可能存在安装 Monolog 是一个新版本 , 而此时就会该库存在不兼容。可是你之前根本就不会注意到兼容问题就因为这个 composer.lock!...Tip 9: 进行版本衍合或合并时不要合并 composer.lock 如果你 composer.json ( composer.lock)中添加了一个新依赖,并且分支被合并前主分支中添加另一个依赖.../package-name": "1.0.0" } Tip 17: 临时使用 fork 下 bug 修复分支方法 如果在某个公共中找到一个 bug,并且Github上自己 fork 中修复了它..., 这就需要从自己版本库里安装这个,而不是官方版本(要到修复合并且修复版本释出才行)。

7.3K20

Git 从入坑到放不下

Git api很多,但其实平时项目中90%需求都只需要用到几个基本功能即可,所以本文将从 实用主义 深入探索 2个方面去谈谈如何在项目中使用 Git,一般来说,看完 实用主义 这一节就可以开始目中动手用...,其中会包含当前配置用户名邮箱。...update 类似,选择后 Git 会显示这些文件的当前内容与本地版本差异,然后您可以自己决定是否添加这些修改到暂存区,命令行 Stage deletion [y,n,q,a,d,/,?]?...git branch -r 查看远程版本分支列表,加上 -d 参数可以删除远程版本分支 git branch -D 分支提交到本地版本前强制删除分支 git branch -vv...git stash Git 栈中保存当前修改或删除工作进度,当你一个分支里做某项功能开发时,接到通知把昨天已经测试完没问题代码发布到线上,但这时你已经在这个分支里加入了其它提交代码,这个时候就可以把这些提交代码存到栈里

1.3K30

程序猿修养 日志应该如何写

DEBUG 下才能执行代码,不应该在发布版本包含调试信息代码执行逻辑 如何让代码发布版本不运行,只有调试下运行,请看 条件编译博客 发布日志 发布代码里面,通过输出窗口进行记日志是很少用方法...需要通过用户数量等判断优先级,此时就需要用到上报数据方式。微软发布每个版本系统时候,每次上新功能之前,都需要添加很多埋点,这里埋点意思是将数据上传到自己服务器。...当然这个要求调试下是不使用,因为调试下是对大量不明确代码进行记录,同时如果写入内容不能明确,最多也就是进行修改代码再次调试 日志里面考虑好分支主要是用在发布日志,也就是在看到日志时候,最好不要存在多个含义路径...至少可以做到在用户喷垃圾软件删除文件时候,可以从日志里面找到这是用户自己行为 命中分支 很多开发代码里面只有对参数正确做判断执行逻辑,而对参数非预期时没有判定,也就是通常说 else 分支...在记录命中分支时候,建议将调用堆栈参数都记录 记录当前调用堆栈方法WPF 判断调用方法堆栈 全局关键设置 全局关键设置例如设置 dll 寻找路径或一些全局业务设置,建议进入设置时候添加日志

1.3K20

配置Android项目 - 一些重要事情

模板项目中查看 productFlavors。 keystore keystore是一个二进制文件,其中包含一个或多个用于签署应用程序私钥。...使用本地调试keystore时有几个问题: 到期日365天 从多台计算机安装应用程序需要先卸载 google服务需要密钥SHA-1指纹 这就是为什么通常生成调试密钥并提交到版本控制系统。 ?...这就是为什么最好发布调试版本使用不同proguard规则: rules-proguard.pro rules-proguard-debug.pro ?...用于调试构建Proguard规则必须具有以下行以强制proguard忽略警告,跳过代码混淆优化: ? 对于发布版本,设置proguard规则将会更加困难,因为几乎每个都有自己特定规则。...建议你只调试时候打开它并且使用detectAll方法来检测所有类型问题。 ? 这里是当你忘记关闭SQLiteCursor日志例子: ? 模板代码中查看StrictMode。

64020

译 | .NET Core 基础架构进化之路(二)

当我们想要提供新功能或修补程序时,我们会通过更新项目中引用版本号来提取这些新更新。当然,这些包也可能具有对其他包版本化引用,这些其他包可能具有更多引用,依此类推。...成功编译结束时,将发布输出,并且所有仓库都更新其输入依赖,以匹配刚刚编译内容。与自动浮动版本号相比,这稍有改进,因为单个存储版本不会因其他存储不良签入而被爆,但它仍然有主要缺点。...自动依赖流 在此模型中,外部基础结构用于存储之间以确定性、验证方式自动更新依赖。存储源中显式声明其输入依赖相关版本,并"订阅"来自其他仓库更新。...我们 1.x 早期用了浮动版本 2.0 中进行了某种程度自动依赖流,并用在了 2.1 2.2 组成版本。有了3.0,我们决定在自动化依赖流上投入大量资金,并放弃其他方法。...例如,假设拥有 dotnet/core-setup 存储知道分支为日常 .NET Core 3.0 开发编译二进制文件。

1.4K60

公共模块管理之 Git Submodule 使用总结

企业级项目开发中,对于较复杂项目,不可避免地会引用一些公共基础,或是将代码拆解成公共模块多个子模块进行管理,主项目工程中子模块需要对公共模块有依赖关系,却又不必关心公共模块内部开发流程细节,...以世界上最好语言 JavaScript 伴侣 npm 为例,开发者编写一个公共模块,作为 npm package 发布,不仅可在自己项目间复用,还可以贡献到开源社区,使更多开发者受益。...例如,最近 UI 自助化项目中,为了避免开发 UI 组件开发者提交主工程中随意编写测试代码,只要将组件独立为 git submodule,同时不开放 UI 组件开发者主工程提交权限,就能够轻松解决问题...,直接按照 git 方式更新即可,但对于主工程,子模块代码可能有四类更新: 2.3.1 子项目本地修改提交 本地子项目下内容发生了跟踪变动,可能是有意或无意(如编译产生),此时主项目中虽然会显示该子项目有跟踪内容修改...2.3.2 子项目本地修改并提交新版本 本地子项目有版本更新,此时主项目中使用 git status 查看仓库状态时,会显示子项目有新提交,可以主项目中使用 git add/commit 命令提交修改

4.9K180

Go Modules踩坑总结

Java 目中,有 Maven Gradle 这些很好用依赖版本管理工具,简直不要太方便了,但是 Golang 目中,之前 Golang 官方并没有提供版本管理工具,我们以前用 go...也就是版本号 + 时间戳 +hash,我们自己指定版本时只需要制定版本号即可,没有版本 tag 则需要找到对应 commit 时间 hash 值。...还有一个重要规则是,版本 0 1,最好需要有不同依赖路径,如:v1.0.0 v2.0.0 是有不同依赖路径,下面会详细介绍一下这个版本规则。...发布版本 了解了 go modules 版本规则后,现在我们发布一下该项目的版本: $ git tag v1.0.0 $ git push --tags 这时我们最好还需要创建一条 v1 分支,以便我们在其它分支写代码不会影响到...v1 版本,我们需要新建一个 v2.0.0 版本,还是老样子,我们最好在 v2.0.0 版本新建一条 v2 分分支,将 v2.0.0 版本代码写到这条分支中(这只是一个规范,实际上你将代码也写到任何分支中都行

1.4K10

【PyCharm中PILPillow安装】

在做杂项题目利用python脚本对图片进行处理时,发现代码无论怎么调试都调试有误,然后换了一个代码发现自己pycharm中装pil. 前言 现代软件开发中,图像处理成为了一个不可或缺组成部分。...如果这些依赖正确安装,可能导致PIL/Pillow在编译或运行时失败。 解决方案: 安装PIL/Pillow之前,先确保系统上安装了必要依赖。...确保虚拟环境处于激活状态,以便PyCharm能够正确识别使用其中安装。 d. 安装后验证步骤: 完成PIL/Pillow安装后,有时需要验证是否正确安装并能够目中使用。...更新和维护建议: PIL/Pillow是一个活跃维护项目,经常会发布版本包含性能改进、新功能bug修复。定期更新PIL/Pillow是保持项目健康安全重要步骤。...建议: 使用pip install --upgrade Pillow命令定期更新PIL/Pillow至最新版本目中使用虚拟环境,以便能够更轻松地管理版本更新。

42910

2022 最新 Git 面试题

当通过自动化测试对功能进行全面测试验证 时,该分支将合并到主服务器中。 任务分支(Task branching) 在此模型中,每个任务都在其自己分支上实现,任务键包含分支名称中。...很容易看出哪个代码 实现了哪个任务,只需分支名称中查找任务键。 发布分支(Release branching) 一旦开发分支获得了足够发布功能,你就可以克隆该分支来形成发布分支。...创建该分支将会启动 下一个发布周期,所以在此之后不能再添加任何新功能,只有错误修复,文档生成其他面向发布 任务应该包含在此分支中。一旦准备好发布,该版本将合并到主服务器并标记版本号。...19.Git 工作区、暂存区版本 我们先来理解下 Git 工作区、暂存区版本概念: 工作区:就是你电脑里能看到目录。 暂存区:英文叫 stage 或 index。...版本:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 版本。 下面这个图展示了工作区、版本暂存区版本之间关系: 图中左侧为工作区,右侧为版本

9210

程序员20大Git面试问题及答案

当通过自动化测试对功能进行全面测试验证时,该分支将合并到主服务器中。任务分支(Task branching) 在此模型中,每个任务都在其自己分支上实现,任务键包含分支名称中。...很容易看出哪个代码实现了哪个任务,只需分支名称中查找任务键。发布分支(Release branching) 一旦开发分支获得了足够发布功能,你就可以克隆该分支来形成发布分支。...创建该分支将会启动下一个发布周期,所以在此之后不能再添加任何新功能,只有错误修复,文档生成其他面向发布任务应该包含在此分支中。一旦准备好发布,该版本将合并到主服务器并标记版本号。...19.Git 工作区、暂存区版本我们先来理解下 Git 工作区、暂存区版本概念:工作区: 就是你电脑里能看到目录。暂存区: 英文叫 stage 或 index。...版本: 工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 版本。下面这个图展示了工作区、版本暂存区版本之间关系:图中左侧为工作区,右侧为版本

16510

如果真的要把Go语言加入OpenStack开发,需要考虑哪些问题?

如何产出版本? 如何维持分支稳定? 3.提议Go语言团队除了自己项目以外根本就没做过跨项目的任务,这不由得引起了怀疑,使得许多技术委员会质疑是否能够顺利完成。...这些本身并不能让Oslo组的人忙起来,它们是为了收集以前社区中存在于许多项目中重复性公共代码。这个代码现在由Oslo移除,稳定发布觉得作为一个社区,这是无可避免。...定义可交付如何分布 OpenStack发布过程几乎完全是自动化发布过程中涉及到所有可交付都是由社区自动产出并由发布团队来管理。最后,将每个交付生成压缩包。...如果要包含二进制代码,是不是也应该考虑两种不同压缩包呢?一个是二进制代码,一个是源代码。 维护稳定分支部分工作怎么办? 稳定分支社区经常被遗忘,维护这些稳定分支团队得到感谢比较少。...然而稳定分支代码运行在许多OpenStack云环境下,它们对于向后兼容后端迁移修复非常关键。 每一门语言都有自己发布方式,管理兼容性方式。

1.5K50

Git 分支设计规范

紧急修复正式环境 Bug 需求测试环节测试出 Bug,上线运行一段时候后出现了 Bug,需要紧急修复个人理解紧急修复意思是没时间验证测试环境了,但还是建议验证下预上线环境。...如果 release 分支存在测试完毕需求,就基于 master 创建 hotfix-xxx 分支,修复完毕后发布到 master 验证,验证完毕后,将 master 代码合并到 release ...如果 release develop 分支都不存在测试完毕需求, 就直接在 develop 分支上修复完毕后,发布到 release 验证,后面流程与上线流程一致。...并行提测 一个项目中并行开发了两个需求,并行提测,但是上线日期不同。...scope 表示 影响范围,可分为:模块、类方法等。

1.2K20

持续交付:发布可靠软件系统方法

一种方法版本控制中创建分支,当工作完成后再合并,以便主干一直是可发布(下一章将会详细讨论这种方法)。...另一种让半成品组件可以发布而不让用户访问方法是通过配置开关来管理。比如,一个富客户端应用中,可能有两个菜单,一个包含新功能,另一个不包含新功能。可以用一个配置两个菜单之间进行切换。...能够动态修改走哪个实现类配置? 依赖 管理 软件项目中,有两种适当方法来管理文件。...另一种让半成品组件可以发布而不让用户访问方法是通过配置开关来管理。比如,一个富客户端应用中,可能有两个菜单,一个包含新功能,另一个不包含新功能。可以用一个配置两个菜单之间进行切换。...能够动态修改走哪个实现类配置? 依赖 管理 软件项目中,有两种适当方法来管理文件。

68150
领券