在公司环境中更新应用程序

在公司环境中更新应用程序

我对这个主题很陌生,希望有人能对此有所启发。我正在创建一个显然会有多台服务器和多台工作站的企业网络。

假设 Adob​​e Flash 发布了新版本。我认为,在将其“推送”到服务器和工作站之前,您需要在测试环境中测试此更新。

你们如何控制、测试并推出应用程序更新?(我说的不是 Windows 更新)。你们使用第三方系统管理工具吗?自制软件吗?

如有任何信息我们将不胜感激:)

答案1

有一些工具可以协助实现这一点,例如 Microsoft 的 SCCM、Active Directory 软件部署、Altaris、LanDesk 等。有无数种方法可以推出更新,但遵循最佳业务实践并且不让用户管理员使用其中至少一种的方法。

至于测试,我通常会先将更新推送到我自己的机器和一个小型测试实验室。四处查看几分钟,然后将其推送给 IT 部门内知道他们属于我早期发布计划的一部分的选定小组。然后,如果没有问题,我会将其推送给所有人。

答案2

Microsoft 的 SCCM 和其他各种产品都可以做到这一点。但是,它们会让您执行特定任务:安装软件。最大的问题是如何协调这一点?

在《系统和网络管理实践》中有一章推荐了以下方法:

  1. “一个、一些、许多”——升级您自己的机器并测试几天。再升级几个(例如,您团队中的其他系统管理员)。然后推广到“许多”:越来越大的群体。

  2. “canary”——每隔[一段时间]升级一个,直到完成。

  3. “指数”——升级 1,然后再升级 2,然后再升级 4,然后再升级 8。每次升级时,组大小都会翻倍。

  4. “风险规避最后”——将组织分成几组,风险承受能力最强的先做,风险规避能力最强的最后做。例如,可能有一个小组以自己处于前沿而自豪,并自愿首先做(IT 部门、工程部门)。可能有一个小组对升级非常怀疑,他们最后做(会计部门、高管等)。较小的小组可能也应该先做。

无论你如何对升级进行分组,都应首先对升级进行测试,然后。

每“组”升级完成后,进行一系列测试。如果任何测试失败,或者报告了问题,则停止升级。如果可能(或安全),则恢复到上一个​​版本。

升级应该在您完成自己的测试之前开始。例如,在实验室或您自己的机器上。更结构化的测试将包括在每种机器、每个操作系统版本等上尝试升级。测试应包括启动和停止软件,以及运行其主要功能(因为您提到了 Flash:尝试播放视频、运行 Flash 游戏等)。最好保留一个 wiki 页面,记录测试了哪些组合以及您运行了哪些测试。下次升级此软件包时,您将有一个很好的测试列表可供使用。如果在升级过程中报告了问题,请将测试添加到列表中以防止将来出现该问题。由于您提到了 Flash,我最近发现 Weight Watcher 的食物跟踪器应用程序和某个版本的 Flash 存在问题。我们将该应用程序的 URL 添加到测试列表中,现在我们知道在发布新的 Flash 升级之前必须使用该应用程序进行测试。

在每“组”升级之间,暂停一段时间以查看是否出现错误。这到底是一天还是一周取决于许多因素:这是一个大变化吗?之前的组升级是否成功?监控您的帮助台票证以获取与升级相关的问题报告。如果您有全职帮助台工作人员,请让他们了解正在进行的升级,以便他们留意问题。

是否使用“一、一些、许多”或其他方法取决于许多因素。“一、一些、许多”适用于较小的环境。“指数”适用于大型桌面环境,其中数百台机器由中央控制。“风险警告最后”适用于您可以将用户划分为具有不同“个性”的特定组。“金丝雀”用于 Web 农场和网格计算,其中您拥有数百或数千台具有相同配置的机器。

最重要的是做好笔记。如果你曾经做过一次很好的升级,那么将来你就会做更多的升级。你希望这个过程是可重复的,而保留一份已执行的测试列表是关键。下次你做类似的升级时,你不需要再思考,这意味着更少的错误(“哎呀,我忘了测试等等”),而且升级速度会更快。事实上,如果你只保留基本的文档,那么你可以把这件事委托给你雇佣的新初级系统管理员。他或她可以重复你的流程,添加内容并改进它。你可以专注于培训他们并检查他们的工作。同时你可以从事其他项目。

答案3

如果你正在寻找一个轻量级的工具来编写系统升级脚本和管理不同的配置文件 - 请查看工作量. 它只为您提供了一个框架,但最后您必须自己找出升级/安静安装/卸载语法。

一旦将它安装到位,您就可以拥有一些虚拟机(测试组的成员),您可以在其中测试新版本,然后再将其提供给所有用户。

类似的网站伊特忍者[以前的 appdeploy] 或wpkg.org可以作为不同软件无人值守安装程序的来源。

相关内容