问题标签 [release-management]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
210 浏览

release - 部署协调工具?

我的公司维护着一个 SaaS 平台,我们正在接近一个非常重要的版本。部署夜间活动涉及一个跨职能的大型团队,涵盖多个开发和质量保证小组、运营、专业服务和客户支持。

我们一直使用简单的任务列表和聊天室来协调发布窗口期间要完成的所有工作,但是随着我们的发布变得更大和更复杂,管理如此多任务的调度和相互依赖变得困难,并且人们。很多时候事情比计划的要长,这会影响其他下游活动,这些活动稍后将由不同的群体进行。这可能会在部署过程中导致很多混乱,我们真的很想改进我们的实践。

有人知道支持这种协调活动的实时协作工具吗?也许人们对其他策略有更好的体验?

0 投票
3 回答
147 浏览

open-source - 点发布作为一般发布

在不断发展的开源世界中,似乎有一种经常将发布编号为 0.x 的趋势,即使它们被视为主要版本。在某些情况下,两个次要版本之间甚至可能不兼容。任何人都可以帮助我了解在某些情况下这样做是否有充分的理由或理由,或者这只是一种完美主义倾向,导致开发人员觉得他们从未真正完成过?

0 投票
5 回答
1614 浏览

svn - 我应该如何在发布前后进行分支和标记?

我一直在考虑我目前正在使用的部署过程,我想知道是否有一种很好的方法来处理分支/标记将要/已经发布到生产环境的代码。

在某些时候,我想创建一个分支作为发布分支,并对分支进行最后一分钟的更改并发布它。然后在发布它之后,我想将它保存为标签。

为了澄清,我正在寻找命名、处理分支和处理标记的约定。我也想知道我所说的处理这种情况是否有其他选择。

  • 您是否每次都命名发布分支或使用带有新代码的相同发布分支?
  • 一旦发布分支作为标签存在就删除它们?
  • 你如何命名你的分支/标签?
0 投票
6 回答
857 浏览

deployment - 您能以多快的速度将已修复的错误投入生产?

我正在使用 2 个非常不同的应用程序。

App #1 是一个网络应用程序,我可以直接访问 FTP,因此修复错误非常容易。Cat A 错误通常会在第二天修复。这里没有问题。

App #2 是一个石油业务文档控制应用程序,我们必须经过两个验收测试阶段——最终用户测试和系统测试。在此阶段之后发现的任何错误都将保留到下一个版本,通常是 2-3 个月。每个新的发布包都是巨大的成本。很难向最终用户解释他们必须忍受一些错误,直到下一个版本。

您如何处理无法立即修复的严重错误?

0 投票
4 回答
597 浏览

c# - 诸如 [DebuggerDisplay] 之类的调试属性是否仍会编译到 Release 二进制文件中?

最近了解了DebuggerDisplay属性,我发现它非常有用。然而,令我惊讶的一件事是它没有[ConditionalAttribute("DEBUG")]附加属性。有什么方法可以强制这样做还是尝试一下是个坏主意?还是因为其他原因无关紧要?

0 投票
7 回答
1623 浏览

testing - 您如何确保相同的错误不会第二次潜入产品?

我理解它的简短答案是通过测试,但你仍然如何进行测试?您是修改测试用例以将错误包含为要运行的附加测试用例,还是只是验证错误跟踪系统中从最旧版本到最新版本的所有错误。

感谢您的回答。看来我的问题不清楚。我知道我们需要编写错误报告,修复错误并进行测试以进行修复验证。但是,该测试应该在哪个测试阶段进行,以便在下一个版本发布期间,我们肯定会再次重新运行测试,以确保没有新的更改重新引入错误。它应该接受回归测试还是应该接受针对特定项目的集成测试,或者我们应该只测试自 1.0 版以来的错误跟踪系统中的所有错误?

0 投票
2 回答
661 浏览

batch-file - 批处理脚本安装过程

我计划使用现有程序的高级版本向客户发布我们的软件,该程序使用 Windows 批处理脚本。我希望改进此过程并自动安装以下项目:

  • 文件。文件被简单地复制到目的地。
  • MSSQL 数据库。我想我会使用 OSQL 命令对数据库运行这些命令。
  • IIS 虚拟目录。Windows 的服务器版本通常安装了 IIS 工具包,其中包含一些用于从命令行创建虚拟目录和诸如此类的工具,所以我将使用它。我认为“iiscnfg”是我用来将以前保存的配置文件插入 IIS 的那个
  • Windows 服务。我们的服务能够从命令行自行安装。

因此,对于每个应用程序部署,我都有这样的结构:

所以基本上你打开一个终端和 CD 到 Releases 目录,运行类似的命令:

这将在 Release3 目录中的所有应用程序上运行一系列命令,并复制所有文件、配置、安装所有数据库和 iis 虚拟目录。

它还有一些其他功能,例如备份文件的目标目录等,但目前无关紧要。

我的问题是,是否有人有这样的部署经验,如果有任何错误,我可以从其他人的经验中学习。

不幸的是,我们不能使用 MSI 软件包或 NullSoft 软件包(我暂时不知道他的名字)。如果它不是这样完成的,它是手动完成的,所以我真的想在这里帮助自己。

0 投票
2 回答
209 浏览

svn - 如何有效管理对第三方应用程序的代码更改

我的主站点建立在 Invision Power Board 之上。随着版本 3 刚刚发布,我想从一个干净的代码库开始并重新制作我的所有修改,但问题是,当 Invision 发布新版本时,跟踪我所做的修改以便我可以重新应用它们一直是个混蛋去做。虽然这个新版本将存储在 svn 中,但我仍然很难有效地更新到新版本。

提前致谢。

0 投票
5 回答
5290 浏览

svn - 如何在 subversion 中管理多个发布分支?

在我工作的公司,我们使用 subversion 和 TortoiseSVN 来管理我们的源代码。每个项目都是从主干分支出来的。当我们需要为发布集成不同的项目时,我们会创建一个发布分支,其中包含将被集成、测试和部署到生产环境的代码。通常我们只有一个发布分支。

然而,最近,其中一个项目中的一些项目被推迟了,并计划进入下一个版本。结果,有人要求创建第二个发布分支来保存延迟的更改并防止它们合并到当前版本中。

到目前为止,这给我们带来了很多痛苦和很多树冲突,因为未来发布分支中的某些项目依赖于当前发布分支中的项目。我们能够解决这些问题的唯一方法是等到当前版本部署完毕,将发布分支合并到主干,将主干合并到未来发布分支,然后将项目分支的更改合并到未来发布分支.

由于这个问题,我们不得不建议我们永远不要拥有多个发布分支,因为它会导致合并问题。

但是,我想知道这是否是正确的方法。有谁知道是否可以在颠覆中管理多个发布分支?当然,必须能够在不影响合并能力的情况下管理延迟的特性。

有没有人有任何关于我提出的场景的经验,你愿意分享?我只是想知道如何改进在我的工作场所管理发布的方式,这样就不会再发生这种情况了。

0 投票
5 回答
1184 浏览

version-control - 管理自定义客户端版本

作为这个问题的替代方案,为特定客户管理自定义软件版本的最佳方法是什么?

客户端版本之间的大多数差异是对用户界面的更改,以自定义软件使其看起来归客户端所有。通常情况下,这是一个简单的徽标更改。有时,配色方案也会发生变化。但有时会根据客户端启用或禁用功能。使所有这些版本保持最新并让特定客户的用户轻松使用它们的最佳方式是什么?

此时,我们有五个不同的客户端,每个客户端都有自己的软件版本和自己的安装程序(在安装程序中带有他们的徽标)。这变得难以管理,而且随着越来越多的客户开始使用我们的软件,情况只会变得更糟。

所以假设链接的问题不是要走的路,管理这些版本的最佳方法是什么?