代码之家  ›  专栏  ›  技术社区  ›  John MacIntyre

是否有人创建安装程序来部署内部ASP.NET Web应用程序?

  •  7
  • John MacIntyre  · 技术社区  · 16 年前

    我总是通过ftp(有时甚至是xcopy)部署Web应用程序,然后自己手动运行数据库脚本。

    我在90年代就开始以这种方式部署,但最近,我看到了一些带有安装程序的Web应用程序。我开始怀疑,如果我被锁在一个过时的过程中。我是一个顾问,我的应用程序通常是内部的,所以我不担心分发和让其他人安装它们。

    但我很好奇,是否有人创建安装程序来部署内部ASP.NET Web应用程序?

    如果是,为什么?(自愿、强制或自动化过程的一部分)

    你这样做有什么问题吗?

    9 回复  |  直到 16 年前
        1
  •  5
  •   kemiller2002    16 年前

    当然。我们用它来做我们所有的应用程序。这样我们就创建了安装程序,并在QA和UAT环境中运行它进行测试,并且我们确切地知道生产中将发生什么。没有人猜测某人可能会按什么顺序做某事,或者如果他们错过了一步。这让事情变得容易多了。

    噢,我也忘了自动化过程。我们有适当的系统(Ant Hill Pro),可以自动将其部署到适当的环境中。质量保证人员不必等待某件事情完成,因为这一切都是在凌晨2点完成的。如果他们需要用更新重新运行构建,开发人员会检查代码,然后我们按下一个按钮,它就会自动部署。不要等建筑工程师,因为他在开会,生病或者其他什么的。

        2
  •  3
  •   Tai Squared    16 年前

    您总是希望有一种自动化的方法来构建和部署—如果您忘记了某个步骤,它将大大减少一次性错误的可能性。此外,它还允许您轻松地将部署卸载给其他人,而无需教他们100个自定义步骤。无论项目是否内部,所有应用程序都应该遵循最佳实践。

        3
  •  1
  •   CapBBeard    16 年前

    就个人而言,我有点像OP;通常我只是使用ftp部署,但通常我的应用程序是内部的,或者在其他项目中,100%由我管理。

    不过,我最近也在考虑这一点,并开始考虑如何使用适当的部署来改进这个过程——必须记录详细的安装过程可能是一个真正的痛苦。

        4
  •  1
  •   Andre Gallo    16 年前

    我用 Powershell 并且发现很容易自动化很多任务。一开始你可能会发现有点不同,但最后你会发现这都是关于.NET库的强大功能!!!!

        5
  •  1
  •   MatthewMartin muthu    16 年前

    我已经用了“ Web Setup Project “要创建安装了 Web Deployment Project “对于内部应用程序。我们的服务器管理员无法完成50步手动安装的任务。对于我当前的应用程序,我的服务器管理员不喜欢msi安装程序的“黑匣子”感觉,更喜欢获取一堆文件和50步部署手册。(看到图案了吗?询问服务器管理员他想要什么。)

    Web安装项目并没有使它立即明显地显示如何安装到除“默认网站”以外的其他任何地方,它使安装过程可重复,并创建了一种内置的回滚方法(只从1个版本前运行安装程序)。

    当然,这假定您的虚拟目录不包含任何用户修改的内容——我不信任MSI正确地合并用户创建的文件和新文件。

        6
  •  1
  •   Dillie-O    16 年前

    我们在这里使用“xcopy”部署模型,因为操作人员有自己的方法在服务器上的新Web应用程序上设置安全性。

    但是,当我们必须安装一个使用新版本Crystal Reports的Web应用程序时,我们确实需要使用一个安装程序,因为它必须用一个密钥做一些特殊的事情,而且服务器本身没有完整的CR版本。因此,在使用第三方应用程序时,请记住,它们可能需要执行某种MSI容易处理的合并模块。

        7
  •  1
  •   erlando    16 年前

    是的……我们有一个应用程序需要很多先决条件的设置……Web服务、Windows服务、用户帐户、安全性、文件夹创建、GAC位等等……我把所有这些都集成到一个不错的MSI中,自定义操作可以安装和卸载干净。节省了大约一个小时的工作来部署到一个新的盒子上。

    许多其他较小的应用程序只是通过将网站发布到本地文件夹中,然后通过ftp将内容发送到目标来部署的。

        8
  •  1
  •   Charlie    15 年前

    这在很大程度上取决于项目的规模、环境和内部用户群。我很少使用MSI进行部署,因为我们的操作太小,无法拥有多个环境(除了SharePoint,两者都不同)。我们开发并使用VS将Web应用部署到一个开发框中,假设它们得到批准,然后再次使用VS将其部署到活动框中。

    唯一的条件是我们有web.config的多个副本(附加了test、dev和live),然后根据部署位置从相关文件中删除后缀。

    它可能不是最好的方法(我知道它不是),但它起作用,它有助于在小规模用户环境中快速部署中小型解决方案。

        9
  •  0
  •   Pete    15 年前

    F5调试…

    你说如果你没有时间做得好,可以走捷径吗?

    “谁要在测试环境中测试代码?”你自己说过你有用于测试的配置文件-为什么这不是一个合适的测试?

    推荐文章