不小心把代码发布了。如何防止再次发生?

2024-02-26

最近我们发生了一起事件,一些原本没有计划发布的代码被发布了。

显然它已经被托运到行李箱里了。我想这很好,如你所愿“提早入住,经常入住”.

然而在这种情况下,它不应该在下一个版本中发布。

可以采取什么样的检查/策略/流程来避免代码过早发布。

在我看来,即使使用持续集成和单元测试,这也是一个人为程序问题?

-- Lee


修改您的整合程序。

如果“上线”意味着有人执行某些批处理脚本 - 如果这种情况再次发生,请不要感到惊讶。

另外,考虑分支。一个常见的示例可能是使用主干进行开发,使用单独的分支进行测试(例如,每周合并一次),使用最终分支(来自上述测试分支)进行 RTC。

该分支在部署到生产环境之前,应该进行彻底的测试。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

不小心把代码发布了。如何防止再次发生? 的相关文章

  • Canary 与 A/B 发布策略

    我正在研究不同类型的发布策略 并且对 Canary 策略和 A B 策略感到困惑 两者似乎很相似 我在 Canary 上读到的所有内容都是 允许通过向一小群人发布新版本来测试部署 A B 上是 A B 测试策略针对特定的客户群 那么它们之间
  • 创建 MSBuild 自定义任务以在*编译之前*修改 C# 代码

    我想创建一个自定义 MSBuild 任务 在 csc exe 编译我的 cs 文件之前更改它们 但是 当然 这不会就地修改它们 我不希望触及实际的源文件 我知道 PostSharp 和其他 NET AOP 框架 但它们不是这个特定项目的选择
  • 如何使用CMake检测目标架构?

    我已经做了很多研究 但无法找到答案 我如何使用 CMake 可靠地找到我正在编译的目标架构 基本上相当于qmake中的QMAKE TARGET arch 大多数来源似乎建议使用 CMAKE SYSTEM PROCESSOR 但这是一个糟糕的
  • 颠覆和依赖

    我正在尝试为以下问题找到可行的策略 我们有几个依赖于我们框架的网络项目 所有内容都存储在我们的 SVN 中 并拥有自己的项目和所有必要的目录结构 主干 标签 分支 在一个示例中 我们有项目 webprj01 和 webprj02 并且我们有
  • Visual Studio - 如何在发布模式下删除引用

    我正在开发一个用于其他应用程序的库 并且由于 NLog 该库具有大量调试和日志记录语句 当我切换到发布模式时是否可以排除对 NLog dll 的引用 Cheers 您可以手动编辑 csproj 文件 并执行如下操作
  • msbuild:构建为 appxbundle(AppxBundle=始终不工作)

    我有一个共享的 Windows8 1 项目 其中包含电话和桌面项目 我定义了不同的配置来构建用于桌面的 x86 x64 和用于手机的 ARM msbuild 工作正常 没有错误 但输出文件夹 或其他任何地方 上没有最终的 appxbundl
  • Maven with Jenkins - 更新依赖项的父 pom 版本

    我有一个与此类似的 pom 文件
  • Maven - 从子 pom 访问父 pom 上的属性

    在多模块项目结构中 myApp moduleA pom xml moduleB pom xml pom xml 如果我在parent pom中有以下属性
  • 组装后但安装前对 jar 进行后处理(以获得幂等构建)

    我们使用 Jenkins 它使用 md5 指纹来识别工件以及工件自上次构建以来是否已更改 不幸的是 Maven 构建总是生成不同的二进制工件 因此 我正在考虑让 Maven 为同一组输入文件生成相同的 jar 工件 无论它们是在何时何地构建
  • SCons 库和子库

    我有一个基于 SCons 的分层构建系统 我有一个根 SConstruct 它调用一个构建共享库的 SConscript 然后调用另一个构建依赖于共享库的可执行文件的 SConscript 所以这是我的问题 我对linux上共享库的理解是
  • 为什么使用 Gradle 而不是 Ant 或 Maven? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • ant 构建过程中代码修改的最佳实践

    承认 这听起来完全不像最佳实践 但让我解释一下 在构建过程中 我们需要将内部版本号和系统版本粘贴到一个类中 该类的唯一目的是包含这些值并使其可访问 我们的第一个想法是使用系统属性 但由于部署环境的波动性 另一种说法是 系统管理员正在做奇怪
  • 使用 Gulp Notify 和 Plumber 的全局错误消息

    是否可以创建一个全局 OnError 函数 我可以将标题和错误消息传递给该函数 我希望对与管道工一起运行的所有任务执行类似的操作 onError function error notify onError title Error subti
  • 用于构建“调试”和“发布”JAR 文件的惯用 Gradle 脚本

    我正在尝试创建一个 Gradle 构建脚本来构建 Java jar文件处于 发布 或 调试 模式 并且在参数化脚本时遇到问题 问题是 使用 Java 插件在 Gradle 脚本中执行此操作的惯用方法是什么 或者 如果没有惯用的方法 那么真正
  • Maven - 在构建时包含不同的文件

    我有十个 WAR 文件 所有这些文件都有几乎相同的代码和标记 唯一的区别在于图像 CSS 和消息 我偶然发现了配置文件的概念 但我还没有完全理解它 我不确定这是否可以处理我需要它做的事情 基本上 我想要一个针对 10 个不同 WAR 具有不
  • 如何在Ant中添加相当于java -D的系统属性

    我需要设置java Djava library path some path我想在运行 ant 脚本 构建 jar 时执行此操作 我想我必须使用
  • 什么是“制定目标”?

    为什么我需要制作一个make target在能够构建我的源代码之前 更具体地说 什么是制定目标 http publib boulder ibm com infocenter rsdvhelp v6r0m1 index jsp topic o
  • 将构建日期放入“关于”框中

    我有一个带有 关于 框的 C WinForms 应用程序 我使用以下方法将版本号放入 关于 框中 FileVersionInfo GetVersionInfo Assembly GetExecutingAssembly Location F
  • 使用 VSTest 代替 MSTest 运行单元测试用例

    我在 TFS2010 服务器上有一个 x64 平台 C 解决方案 VS2012 我已将一个单元测试项目 也是 x64 附加到此解决方案并创建了一个构建定义 当我对构建进行排队时 它成功了 但单元测试用例不会被执行 这是因为 MSTest 是
  • MSBuild 将动态生成的文件复制为项目依赖项的一部分

    我有一个自定义 msbuild 任务 它正在生成一些输出文件到 ProjectA 的输出目录 TargetDir 当前的代码是这样的

随机推荐

  • 蟒蛇 | mktime溢出错误

    我已经在网上搜索过 但找不到针对此问题的合适解决方案 OverflowError mktime argument out of range 导致该异常的代码 t 1956 3 2 0 0 0 0 0 0 ser time mktime t
  • IE 是唯一不允许 Flash 对象操作的浏览器(或版本)吗?

    我已经尝试了多种方法通过 Javascript 编辑 Flash 对象 嵌入 它似乎适用于除 IE 之外的所有浏览器 因此我正在考虑将 IE 扔出此应用程序的窗口 除非有较旧的 使用过的其他浏览器版本也不允许您编辑对象 一个例子是 docu
  • ASP.NET MVC,“需要票证”属性

    我正在尝试构建一个允许用户执行某些操作的系统 但他们的帐户每次执行操作时都必须有一个特定的 票证 例如 假设他们希望创建一个Product 他们需要一个CreateProductTicket 当然 我可以简单地使用一些 if 语句来做到这一
  • jQuery 验证 - 两个字段,只需填写一个

    我正在使用jQuery 验证插件 http bassistance de jquery plugins jquery plugin validation 在我的表格上 我的表格上有一个 电话 字段和一个 手机号码 场地 我该如何制作 以便用
  • 在 SVG 路径中填充形状/图标 (js)

    我有一个带有路径的 SVG
  • 带有交叉验证的 scikits 混淆矩阵

    我正在使用 scikits 接口通过交叉验证 stratifiedKfold 训练 svm 分类器 对于每个测试集 k 个 我都会得到一个分类结果 我想要一个包含所有结果的混淆矩阵 Scikits 有一个混淆矩阵接口 sklearn met
  • 意外的tornado.ioloop.PeriodicCallback行为

    试图弄清楚如何PeriodicCallback已经安排好了 我写了这个脚本 import time import tornado ioloop t0 time time def foo time sleep 1 print time tim
  • 在 jenkins docker 容器内执行 docker host 命令

    我有一个运行 jenkins 的 docker 容器 我想在这个容器内部启动其他容器 所以在这个容器外部 我尝试用以下命令启动我的詹金斯控制器 docker run v var run docker sock var run docker
  • 如何缩小 Ruby 源文件?

    我有一种情况 我希望能够minify 未编译 Ruby 脚本 目标是 减少脚本的整体字符数 执行一定程度的混淆 使其他人难以修改代码 我们可以假设 是的 我知道我在做什么 而且我确实想缩小和混淆代码 Ruby 源代码具有简单的语法 并且不使
  • 列出 Google Drive 中所有文件的脚本:Api、cURL 和 Bash

    这是一个 bash 脚本 使用 cURL 列出我的 Google Drive 帐户 不是与我分享文件 只有我自己的文件 您必须在您的帐户中授予对 Google Drive API 的访问权限 并在脚本中填充变量 idclient and i
  • SSE 双线性插值

    我正在紧密循环中实现双线性插值 并尝试使用 SSE 对其进行优化 但我从中得到的加速为零 这是代码 非 SIMD 版本使用简单的向量结构 可以定义为struct Vec3f float x y z 实现乘法和加法运算符 ifdef USE
  • 禁用时更改开关颜色

    我有一个开关 当启用并选中时 它的颜色是我的 colorPrimary 我希望在检查但禁用时具有相同的颜色 但我找不到完成它的方法 我尝试使用选择器 但它改变了开关背景而不是切换本身 如何更改开关颜色 Thanks 1 在 styles x
  • 复选框确认消息 - 如果为 false,则保持选中状态

    我目前正在尝试在用户尝试取消选择选项时添加 JavaScript 确认消息 如果用户在确认屏幕上选择取消 则该复选框应保持选中状态 我遇到的问题是 即使我返回 false 该复选框也不会被选中 代码示例可以在这里找到http jsfiddl
  • 使用 python 的 CentOS 上的 Hadoop 流示例 - /mapred/local/taskTracker 上的权限被拒绝

    我已经能够使用 python 映射器和减速器设置流示例 mapred文件夹位置是 mapred local taskTracker root 和 mapred 用户都拥有此文件夹和子文件夹的所有权 但是 当我运行流式传输时 它会创建地图但不
  • NSString 中某个字符出现的次数

    我有一个NSString or NSMutableString并希望获得特定字符出现的次数 我需要对相当多的字符 在本例中为大写英文字符 执行此操作 所以速度快一点就好了 您可以在一行中完成此操作 例如 计算空格数 NSUInteger n
  • 我可以使用循环来最小化 ES6 import 语句吗?

    我检查了文档中的 导入 觉得不可能像数组元素一样对待导入的名称 欢迎任何处理这种情况的建议 import C1 from samples sample1 import C3 from samples sample3 import C4 fr
  • Drupal 对数据库执行查询

    我希望从我的 drupal 数据库中检索一些 nid 我有一个想要运行的查询 SELECT node nid AS projectnid FROM node node INNER JOIN content type project node
  • Xcode 13 中的 Info.plist 在哪里? (缺失,不在项目导航器内)

    有谁知道如何添加 编辑值Info plistXcode 13 还没到吗 我看到他们移动了Info plist从导航器窗格 但是虽然我可以找到它 但我不知道如何编辑它 这是一个 功能 你不再需要它了 来自发行说明 https develope
  • 运行进程时隐藏 vb.net 中的命令窗口

    如果我有这个代码 Send file to Unix server via pscp Dim Proc As New System Diagnostics Process Proc StartInfo New ProcessStartInf
  • 不小心把代码发布了。如何防止再次发生?

    最近我们发生了一起事件 一些原本没有计划发布的代码被发布了 显然它已经被托运到行李箱里了 我想这很好 如你所愿 提早入住 经常入住 然而在这种情况下 它不应该在下一个版本中发布 可以采取什么样的检查 策略 流程来避免代码过早发布 在我看来