问题标签 [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.
sql-server - 将 SQL Server 数据库从测试部署到实时
我想知道你们如何管理 2 个 SQL Server 之间的数据库部署,特别是 SQL Server 2005。现在,有一个开发和一个实时的。由于这应该是构建脚本的一部分(标准 Windows 批处理,即使这些脚本的当前复杂性,我可能会切换到 PowerShell 左右),Enterprise Manager/Management Studio Express 不计算在内。
您是否只需复制 .mdf 文件并附加它?在处理二进制数据时我总是有点小心,因为这似乎是一个兼容性问题(即使开发和实时应该始终运行相同版本的服务器)。
或者 - 鉴于 T-SQL 中缺少“EXPLAIN CREATE TABLE” - 您是否会执行将现有数据库导出到可以在目标服务器上运行的 SQL 脚本的操作?如果是,是否有一种工具可以自动将给定的数据库转储到 SQL 查询中并在命令行下运行?(同样,Enterprise Manager/Management Studio Express 不算在内)。
最后 - 鉴于实时数据库已经包含数据这一事实,部署可能不涉及创建所有表,而是检查结构和 ALTER TABLE 实时表的差异,这可能还需要在现有字段更改时进行数据验证/转换。
现在,我听到了很多关于Red Gate产品的好消息,但对于爱好项目,价格有点高。
那么,您使用什么来自动将 SQL Server 数据库从 Test 部署到 Live?
python - 使用 Python 创建可直接执行的跨平台 GUI 应用程序
Python 可以在多个平台上工作,并且可以用于桌面和 Web 应用程序,因此我得出结论,有一些方法可以将它编译成 Mac、Windows 和 Linux 的可执行文件。
问题是我不知道从哪里开始或如何用它编写 GUI,任何人都可以对此有所了解并指出正确的方向吗?
svn - 对于 Subversion 中的版本和项目,什么是好的存储库布局?
我们有标准的 Subversion 主干/分支/标签布局。我们有几个用于中长期项目的分支,但到目前为止还没有一个发布版本。这正在快速逼近。
我们应该吗:
- 将发布分支和项目分支混合在一起?
- 创建发布文件夹?如果是这样,有没有比发布更好的名称?
- 创建一个项目文件夹并将当前分支移到那里?如果是这样,还有比项目更好的名称吗?我在其他存储库中看到了“沙盒”和“尖峰”。
- 完全是别的东西吗?
release-management - How do you update a live, busy web site in the politest way possible?
When you roll out changes to a live web site, how do you go about checking that the live system is working correctly? Which tools do you use? Who does it? Do you block access to the site for the testing period? What amount of downtime is acceptable?
release - 哪个更好:发布有缺陷的功能还是根本不发布该功能?
这是一个哲学问题。我正在向我的软件添加一个小功能,我认为大多数用户都会使用它,但他们使用该软件的时间可能只有 10%。换句话说,该软件在没有它 3 个月的情况下还可以,但有 4 或 5 个用户要求它,我同意它应该在那里。
问题是,由于我正在使用的平台的限制(可能是我大脑的限制),“我能做的最好的”仍然有一些非关键但明显的错误 - 假设编码的功能是可用的但在某些情况下“有点不稳定”。
该怎么办?有 90% 的功能真的“聊胜于无”吗?我知道我会收到一些我无法修复的错误报告:我应该告诉客户什么?我应该接受未答复的功能请求或未答复的错误报告吗?
versioning - 您推荐什么版本编号方案?
我的问题是,哪种版本命名方案应该用于什么类型的项目。
非常常见的是major.minor.fix,但即使这样也可能导致4 个数字(即Firefox 2.0.0.16)。有些有一个模型,奇数表示开发人员版本,偶数表示稳定版本。各种添加都可以进入组合,如 -dev3、-rc1、SP2 等。
有理由更喜欢一种方案而不是另一种方案,不同类型的项目(即开源与闭源)是否应该有不同的版本命名方案?
java - 如何远程更新 Java 应用程序?
我们有一个运行在多台计算机上的 Java 服务器应用程序,所有计算机都连接到 Internet,其中一些位于防火墙后面。我们需要从一个中心站点远程更新 JAR 文件和启动脚本,而不会对应用程序本身造成明显的中断。
该过程必须是无人值守和万无一失的(即,我们不能因为不及时的互联网中断而破坏应用程序)。
过去,我们使用各种外部脚本和实用程序来处理类似的任务,但由于它们有自己的依赖关系,结果更难维护且可移植性较差。在制作新东西之前,我想从社区获得一些意见。
有没有人已经找到了一个好的解决方案?有什么想法或建议吗?
澄清一下:这个应用程序是一个服务器,但不适用于 web 应用程序(这里没有 webapp 容器或 WAR 文件)。它只是一个自主的 Java 程序。
release - 获取正确的软件版本号。v1.0.0.1
我在线分发软件,并且总是想知道是否有更好的方法来更好地定义版本号。
让我们在答案中假设 ABCD。你什么时候增加每个组件?
您是否使用任何其他版本号技巧,例如 D mod 2 == 1 意味着它仅是内部版本?
您是否有带有自己版本号的 beta 版本,或者您是否有每个版本号的 beta 版本?
release-management - 发布管理 - 最佳实践
我在一家产品开发公司工作。我们首先进行内部发布,然后是公开发布。我想知道,其他产品开发公司如何管理他们的发布?你怎么给发布号?标记源代码管理?