AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 587182
Accepted
user149691
user149691
Asked: 2014-04-08 04:57:36 +0800 CST2014-04-08 04:57:36 +0800 CST 2014-04-08 04:57:36 +0800 CST

如何自动化复杂的软件分发?

  • 772

我们的客户有解决方案,其中包括多个相互合作的产品。当我们更新解决方案的任何部分时,我们必须为每个操作系统(XP、Windows 7、Windows Server 2008 等)提供管理员指南。指南告诉你:

  • 更新前应该停止哪些服务和进程
  • 应该备份哪些文件
  • 应该更新哪些配置键
  • 应该卸载哪些程序/模块
  • 应该安装哪些程序/模块
  • 如何检查更新是否成功
  • 恢复步骤
  • ETC

基本上,我们将安装文件放在网络文件夹中,并提供应该在客户希望更新的工作站上运行的 powershell 脚本。此脚本可能相当复杂,并且在安装之间可能会发生巨大变化。

我想有没有任何平台可以简化这种分发?

distribution
  • 3 3 个回答
  • 113 Views

3 个回答

  • Voted
  1. MichelZ
    2014-04-08T05:36:18+08:002014-04-08T05:36:18+08:00

    使用标准安装程序 (.msi),这可以处理大多数事情。查看用于构建安装程序的开源平台的WiX 。

    • 1
  2. Pulkit Sethi
    2014-04-08T07:49:16+08:002014-04-08T07:49:16+08:00

    你可能想看看 Puppet。我用它来管理基于 Unix 的计算机的配置,但它也适用于 Windows 操作系统。

    http://www.puppetlabs.com

    • 0
  3. Best Answer
    Evan Anderson
    2014-04-08T14:49:12+08:002014-04-08T14:49:12+08:00

    没有任何“灵丹妙药”可以为您处理这些事情。我会怀疑任何告诉你有的人。

    我来自使用签入 VCS 的构建脚本的背景,所以我的偏见可能会在这里显示。

    我将讨论其他人提到的几个项目:

    Windows Installer 乍一看确实很有吸引力,但它不是“免费午餐”。如果您选择构建 Windows 安装程序包,您只需将脚本中的依赖项和逻辑封装到安装程序包中,可能会有很多丑陋,例如大量的自定义操作。实际上,您将使用 Windows Installer 作为脚本环境,其中包含许多内置的怪癖和限制。

    如果您使用配置管理系统(Desired State Configuration、Puppet 等),您仍然需要对依赖项和逻辑进行建模。使用配置管理系统,我敢说您将遇到平台描述您的依赖关系的能力的限制,此时您无论如何都需要补充脚本。

    我认为您的 Powershell 脚本已经走上了正确的道路。我会对脚本进行评论,并且我会非常努力地构建一个可以处理所有各种安装场景的脚本(或者,更有可能的是,从单个中央脚本调用的一组较小的脚本)。我会使用版本控制软件来维护这些脚本。只要您从不透明的二进制 blob 安装的产品可行,我将构建测试逻辑来验证这些安装程序是否实际工作。

    • 0

相关问题

  • 如何在企业中分发最终用户证书

  • 良好的企业容量、平台中性文件和程序分发系统?

  • SQL Server 2005:跨多个分布式实例共享处理器

  • 是否有通过 CAT5/CAT5e UTP 运行音频/视频的标准?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve