我对这个主题很陌生,希望有人能对此有所启发。我正在努力创建一个显然有多个服务器和多个工作站的公司网络。
假设新版本的 Adobe Flash 发布了。我认为您希望在将此更新“推送”到服务器和工作站之前在测试环境中对其进行测试。
你们如何控制、测试然后推出应用程序更新?(我不是在谈论 Windows 更新)。您使用第 3 方系统管理工具吗?国产软件?
任何信息将不胜感激:)
我对这个主题很陌生,希望有人能对此有所启发。我正在努力创建一个显然有多个服务器和多个工作站的公司网络。
假设新版本的 Adobe Flash 发布了。我认为您希望在将此更新“推送”到服务器和工作站之前在测试环境中对其进行测试。
你们如何控制、测试然后推出应用程序更新?(我不是在谈论 Windows 更新)。您使用第 3 方系统管理工具吗?国产软件?
任何信息将不胜感激:)
Microsoft 的 SCCM 和各种其他产品将执行此操作。但是,它们让您执行特定任务:安装软件。最大的问题是你如何协调这个?
在“系统和网络管理实践”中有一章推荐以下方法:
“one, some, many” -- 升级自己的机器,测试几天。再升级一些(例如,您团队中的其他系统管理员)。然后推广到“许多”:越来越大的群体。
“金丝雀”——每 [一段时间] 升级一个,直到完成。
“指数”——升级 1,然后再升级 2,然后再升级 4,然后再升级 8。小组人数每次都会翻倍。
“风险厌恶最后”——将组织分成几组,最能接受风险的最先做,风险最厌恶的最后做。例如,可能有一群人以走在前沿而自豪,并且会自愿先行(IT 部门、工程部门)。可能有一群人对升级非常怀疑,他们排在最后(会计部门、高管等)。较小的团体可能也应该排在第一位。
不管升级如何分组,升级都应该先测试,然后。
在每个“组”升级后,进行一系列测试。如果任何测试失败,或者报告了问题,请停止升级。如果可能(或安全),恢复到以前的版本。
在您完成自己的测试之前,不应开始升级。例如,在实验室或您自己的机器上。更结构化的测试将包括尝试在每种机器中的一台上进行升级,在操作系统的每个版本中尝试升级,等等。测试应包括启动和停止软件,以及运行其主要功能(因为您提到了 Flash:尝试播放视频、运行 flash 游戏等)。最好保留一个 wiki 页面,记录测试了哪些组合以及运行了哪些测试。下次升级这个包时,你有一个很好的测试列表可以使用。如果在升级期间报告了问题,请将测试添加到列表中以防止将来出现该问题。既然你提到了 Flash,我最近发现 Weight Watcher 的食物追踪器应用程序和特定版本的 Flash 存在问题。
在每个“组”升级之间,暂停一段时间以查看是否出现错误。这是一天还是一周取决于很多因素:这是一个很大的变化吗?之前的群升级成功了吗?监控您的帮助台工单以获取与升级相关的问题报告。如果您有全职服务台服务员,请让他们了解正在进行的升级,以便他们留意问题。
您是使用“一个、一些、许多”还是其他方法取决于许多因素。“一、一些、许多”适用于较小的环境。“Exponential”适用于集中控制数百台机器的大型桌面环境。当您可以将用户划分为具有不同“个性”的特定组时,“风险厌恶者最后”会很好。“Canary”用于网络农场和网格计算,其中您拥有成百上千台具有相同配置的机器。
最重要的是做好笔记。如果您必须进行一次良好的升级,那么将来您将不得不进行更多的升级。您希望该过程变得可重复,并且保留已执行测试的列表是实现这一点的关键。下次您进行类似的升级时,您需要做的思考会更少,这意味着错误会更少(“哎呀,我忘了测试等等”),而且速度会更快。事实上,如果您只保留基本文档,那么您可以将其委托给您雇用的新的初级系统管理员。他或她可以重复您的过程,添加并改进它。您可以专注于培训他们并检查他们的工作。同时,您可以从事其他项目。
有一些工具可以帮助实现这一点,例如 Microsoft 的 SCCM、Active Directory 软件部署、Altaris、LanDesk 等。有一百万零一种方法可以推出更新,但是遵循最佳业务实践并且不让用户管理员使用的企业至少其中之一。
至于测试,我通常先将更新推送到我自己的机器和一个小型测试实验室。四处闲逛几分钟,然后将其推送给 IT 部门中的一个选定小组,他们知道他们是我早期发布计划的一部分。然后,如果没有问题我就推送给大家。
如果您正在寻找用于编写系统升级脚本和管理不同配置文件的轻量级工具,请查看wpkg。它只为您提供一个框架,但最后您必须自己找出升级/安静安装/卸载语法。
一旦你有了它,你就可以拥有很少的虚拟机——测试组的成员——你可以在新版本对所有用户可用之前测试新版本。
itninja [以前的 appdeploy] 或wpkg.org等网站可以作为不同软件的无人值守安装方法的来源。