问题标签 [configuration-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.
visual-studio - .net 解决方案颠覆最佳实践?
有很多关于如何设置 dotnet 项目的示例,但似乎没有一个适合我们的情况。
我们有一个具有多个应用程序、多个依赖项的解决方案。我们目前在 SourceSafe 上,并计划转向颠覆,但发现很难以正确的方式组织我们的源。
示例解决方案
- 应用程序1
- 应用程序2
- 商务对象
- 数据访问
- 自定义控件
依赖项
- BizObjects->数据访问
- App1->自定义控件
- App1->BizObjects
- App1->数据访问
- App2->自定义控件
- App2->BizObjects
我们还有一个配置管理系统,它根据操作员的工作负载进行部署(通过数据库中的副本)。我们用一个版本标记一个应用程序“发布”,并为该发布添加多个文件依赖项。请记住,我们现在采用的解决方案是尝试将旧的(Windows 3.1 开发的)解决方案与 .NET 文件/依赖结构一起使用。
对于 App1,我们有 App1.exe、BizObjects.dll、DataAccess.dll 和 CustomControls.dll。由于 BizObjects 引用 DataAccess,我们对 App2 具有相同的依赖项集——但这是手动定义的。我们没有一个系统来识别依赖树。
“发布”的每个依赖项都是一个文件和版本 ID。对于不同的工作负载,同一个应用程序可能包含每个文件的不同版本。
- 我们到底哪里错了?我们做错了吗?
- 我们如何构建一个 svn 源代码树来适应部署需求?
- 或者
- 我们如何重构代码以更好地支持对我们的设置有意义的部署策略?
对于(看起来)一个相对简单的问题,我们有一个旧的和过度设计的解决方案。谁能引导我/我们朝着正确的方向前进?
编辑:我读了这个问题并记得我们也有相同的开发/测试/产品区域,代码必须通过这些区域。
configuration-management - 执行 CMMI 物理配置审计的最佳方法?
我目前工作的组织正在进入整个 CMMI 世界,记录一切。我(与其他人一起)被分配了配置经理的头衔。恭喜我没错。
部分职责是定期(他们仍在定义定期,将按季度或按月)进行物理配置审计。这基本上是检查生产中部署的源代码版本与我们认为生产中的源代码版本。
我们的项目是一个用 Java 编写的相对较小的 Web 应用程序。我们使用的文件类型是 java、jsp、xml、属性文件和 sql 包。
我遇到的问题(并且已经表达但似乎被忽略了)是我应该如何物理登录到生产服务器并验证文件版本,即使我可以这样做也会花费大量时间?
文件版本甚至当前不在文件中(即在评论或其他内容中)。建议我们在每个用户可见的屏幕上放置可见的版本号。我也觉得这很荒谬,因为屏幕本身只代表我们维护的代码的一小部分。
我们目前使用的工具是用于我们的 IDE 的 Netbeans 和作为我们的版本控制工具的 Serena Dimensions。
我正在特别寻找有关如何以希望更自动化的方式执行此审核的想法,这将既准确又不耗时。
我目前的想法是在每个文件的顶部添加一个包含该文件版本号的注释,一个在创建生产构建时运行的脚本以创建 XML 文件或包含每个文件的文件名和版本文件的类似文件构建中的文件。然后,当我需要进行审计时,我会去生产服务器获取带有信息的 xml 文件,并以编程方式将其与我们认为在生产中的内容进行比较,然后输出报告。
任何更好的想法。我知道这必须已经完成,并且对我来说似乎很疯狂,因为我没有找到任何其他资源。
c++ - 构建相同 C/C++ 应用程序变体的最佳方法是什么
我有三个密切相关的应用程序,它们是从相同的源代码构建的——比如说 APP_A、APP_B 和 APP_C。APP_C 是 APP_B 的超集,而 APP_B 又是 APP_A 的超集。
到目前为止,我一直在使用预处理器定义来指定正在构建的应用程序,它的工作原理是这样的。
然后我的 IDE 构建选项指定(例如)
...在源代码中,我会有类似的东西
但是,今天早上我开枪打死了自己,只是从一个文件中省略了 #include "app_defines.h" 行,这浪费了很多时间。一切编译正常,但应用程序在启动时与 AV 一起崩溃。
我想知道处理这个问题的更好方法是什么。以前,这通常是我认为可以使用#define 的少数几次之一(无论如何,在 C++ 中),但我仍然搞砸了,编译器没有保护我。
continuous-integration - 产品线工程
我们在我公司所做的一些工作正在慢慢向一个产品系列发展,在同一个系列中包含不同的产品,每个产品中都有不同的口味(或功能集)。我正在寻找一些可能对我们有所帮助的产品线工程技术。网络搜索导致大量资源和大量不同的信息来源和不同的方法。在深入了解其中任何一个之前,我认为从以前做过类似事情的人那里获得一些实用建议会很有用。有人在这方面有任何建议/智慧吗?我特别在寻找更好的方法来在产品线环境中执行以下操作:
- 配置和构建管理
- 易于开发周期
- 测试
database-design - 英国增值税从 17.5 变为 15% - 这将如何影响您的代码?
英国增值税制度正在从 17.5% 变为 15%。您在代码中使用了哪些策略来存储增值税,以及更改将如何影响您的应用程序。您是否存储了大桶的历史记录以便计算旧价格,或者是否将旧发票存储在单独的表中?这是一个简单的配置设置,还是你拒绝了?存储增值税的理想方式是什么?
release-management - 发布管理软件
关于发布管理的主题,我正在研究我的软件选项,这些软件将基本上执行 WSUS 提供的功能,据我所知(远程安装、版本查询、每台机器/组设置等),但对于我的自定义软件。它还需要能够运行第三方可执行文件(例如图形驱动程序安装程序),在更新之前通知软件当前是否正在运行等。
更新:我主要查看要安装的 C#/C++.NET 代码,但我正在寻找一种解决方案,用于同时将更新从一台服务器推送到十几个客户端。这是我必须包装的东西,比如说,一个 NSIS 安装程序构建脚本,还是有混合管理/管理/安装工具?我目前正在将 NSIS/WiX 视为我的主要竞争者,并使用某种脚本来填补空白(关于语言的建议,也是吗?Windows PowerShell?)。
configuration-management - 在哪里可以找到配置管理计划的好示例或模板?
文档不是开发人员最喜欢的领域,但如果您想在组织中拥有标准,则需要完成的重要领域。我们正在尝试制定一个新的配置管理计划来设置变更控制、备份策略和其他有趣的事情,比如从开发、登台到生产的过程。
我想听听你对好的例子的看法,或者可能是 CMP 过程的一个好的开始。
build-process - 配置设置最佳实践
我想知道一些关于存储配置设置的最佳实践。假设您在多个应用程序之间共享了一些设置。我听说过存储这些需要共享的设置(XML 文件)的好方法和坏方法。
只是想知道在跨构建维护应用程序设置以更容易部署方面什么是好的标准。
我想我是从 2 个场景来看这个的:
- 内部应用程序(无论是大型 .com 还是小型管理应用程序)。
- 在创建供其他人使用的 API 时,当您不知道将在其应用程序中使用您的 API 的消费者的最终值是什么时,如何引用配置设置。
添加-1:
谢谢。我听说过一些可怕的故事,有些地方在管理多个应用程序的配置设置时遇到了噩梦。我不是一个构建人员,所以我不知道为什么,但我想肯定地尝试确保我现在在 web.config 与自定义配置文件等类型的场景方面理解它。
添加-2:
当您创建要使用的 API 时又如何呢?您可以说一个要提取某些配置信息的类,但是直到客户端使用您的 API(特别是 C#/.NET)才定义这些端点(属性)?您将在哪里以及如何设置这些属性,比如说您创建的配置类,例如“ApplicationDefinitions”?
java - 我应该为 j2ee 应用程序服务器配置文件实现源代码控制吗?
对于典型的 J2EE Web 应用程序,数据源连接设置存储为应用程序服务器配置的一部分。
有没有办法对这些配置细节进行版本控制?我想要对数据源和其他应用程序服务器配置更改进行更多控制。
这样做的标准做法是什么?
configuration-management - 管理可重用组件
我有项目 A 和 B。两个项目都使用组件 C(例如图形库)。我收到一份报告 A 有错误的问题单。我确定这个错误确实在 C 组件中。我为 C 创建了一个分支,修复它,重新签入,重新标记它,更改对 A 的依赖关系并创建一个新的 A 安装。
问题:如何让 B 知道其 C 组件的更改,以便它可以从 A 中检测到的错误修复中受益?什么是控制这种配置管理场景的好工具/脚本?我尝试使用 Jira,但找不到让两个项目依赖于一个或多个组件的好方法。