我有一个新的应用程序,我想部署到我最近注册的托管服务器。我想知道什么是最好的部署方式。根据我的经验,我已经看到许多asp.net应用程序只是将dll推送到服务器。这是如何实现的?。
我有Tortoise SVN作为我的颠覆系统。我在另一台服务器上有一个存储库,通常我提交我的更改,然后在托管服务器中更新我的发布文件夹,但这包含所有.aspx,解决方案和我不相信的其他文件。如何进行设置以便我只推动dll并在更新时只更新dll?
我对此并不太清楚,并希望在这种情况下给出解释和最佳实践。
答案 0 :(得分:1)
我之前遇到过类似的问题,每次在我的应用程序中移动已编译的文件以进行增量修复时,都会按照以下步骤操作。
维护解决方案文件的两个单独副本 - 本地应用程序和生产应用程序 //这非常重要,因为一旦你进入生产环境。本地工作的一个副本和仅用于在实时服务器中部署的其他副本。此副本应与您的实时服务器副本保持同步。
对文件进行更改,并在本地应用程序文件夹/解决方案中编译和测试应用程序。现在只提交您编辑的文件。 SVN将负责这一点。它将显示文件的可能“红色标记”,该文件与存储库中存在的更新不同。通过这种方式,您可以跟踪已修改的页面。
现在打开生产解决方案文件夹并更新文件夹。这将更新生产应用程序文件夹中的文件。
现在编译并测试完成的更改。验证其问题是否已修复,或者更改是否与本地应用程序副本相同。现在构建应用程序并发布到文件夹。
要了解修改过的文件:
<强>的DLL:强>
转到文件夹的bin位置并按“修改日期”排序。这些是要在生命服务器中复制和替换的dll。
<强> ASPX / ASCX 强>
a)打开生产应用程序文件夹的SVN。右键单击并单击显示日志。这将显示所有使用日期修改/更新的文件。选择上次更新的并记下位置。
b)现在导航到已发布文件夹中的位置,然后选择“按顺序”降序/升序修改日期的文件。将这些文件单独替换为您的LIVE服务器。
注意:这当然不是最好的解决方案,而是整个行业遵循的一般做法。很少有其他插件可以跟踪更改并将相关文件发布到您发布的文件夹。但同样,只有当源代码和应用程序文件与您托管应用程序的机器在同一台机器上时才适用。如果您对此有任何疑问,请与我们联系。
答案 1 :(得分:1)
您可以使用visual studio web deploy,它会自动找出需要更新的内容,并且除非您另有要求,否则只会推送必要的内容。