.NET的部署实践

时间:2014-03-10 03:01:16

标签: c# asp.net svn deployment

我有一个新的应用程序,我想部署到我最近注册的托管服务器。我想知道什么是最好的部署方式。根据我的经验,我已经看到许多asp.net应用程序只是将dll推送到服务器。这是如何实现的?。

我有Tortoise SVN作为我的颠覆系统。我在另一台服务器上有一个存储库,通常我提交我的更改,然后在托管服务器中更新我的发布文件夹,但这包含所有.aspx,解决方案和我不相信的其他文件。如何进行设置以便我只推动dll并在更新时只更新dll?

我对此并不太清楚,并希望在这种情况下给出解释和最佳实践。

2 个答案:

答案 0 :(得分:1)

我之前遇到过类似的问题,每次在我的应用程序中移动已编译的文件以进行增量修复时,都会按照以下步骤操作。

  1. 维护解决方案文件的两个单独副本 - 本地应用程序和生产应用程序 //这非常重要,因为一旦你进入生产环境。本地工作的一个副本和仅用于在实时服务器中部署的其他副本。此副本应与您的实时服务器副本保持同步。

  2. 对文件进行更改,并在本地应用程序文件夹/解决方案中编译和测试应用程序。现在只提交您编辑的文件。 SVN将负责这一点。它将显示文件的可能“红色标记”,该文件与存储库中存在的更新不同。通过这种方式,您可以跟踪已修改的页面。

  3. 现在打开生产解决方案文件夹并更新文件夹。这将更新生产应用程序文件夹中的文件。

  4. 现在编译并测试完成的更改。验证其问题是否已修复,或者更改是否与本地应用程序副本相同。现在构建应用程序并发布到文件夹。

  5. 要了解修改过的文件:

  6. <强>的DLL:

    转到文件夹的bin位置并按“修改日期”排序。这些是要在生命服务器中复制和替换的dll。

    <强> ASPX / ASCX

    a)打开生产应用程序文件夹的SVN。右键单击并单击显示日志。这将显示所有使用日期修改/更新的文件。选择上次更新的并记下位置。

    b)现在导航到已发布文件夹中的位置,然后选择“按顺序”降序/升序修改日期的文件。将这些文件单独替换为您的LIVE服务器。

    注意:这当然不是最好的解决方案,而是整个行业遵循的一般做法。很少有其他插件可以跟踪更改并将相关文件发布到您发布的文件夹。但同样,只有当源代码和应用程​​序文件与您托管应用程序的机器在同一台机器上时才适用。如果您对此有任何疑问,请与我们联系。

答案 1 :(得分:1)

您可以使用visual studio web deploy,它会自动找出需要更新的内容,并且除非您另有要求,否则只会推送必要的内容。