自动化C# Web应用程序部署流程,使用安全的远程桌面访问和最近的SVN更改。

5
我想创建一个应用程序来自动化每天重复的非常特定的构建过程。
  • 我需要构建一个C# Web应用程序,将dll和其他必要的文件(与上次在svn中检入不同)打包成一个特定结构的.zip文件。
  • 连接到一个安全的远程Windows Web服务器(带有特定身份验证),将文件复制、解压缩并部署到正确的位置。
我考虑使用C#控制台应用程序处理与远程服务器的连接,并在代码中进行一些文件操作或在本地机器和远程服务器上运行批处理文件的组合。我打算使用批处理脚本构建Visual Studio项目,并对svn树进行差异分析并将更改的文件导出到特定的目录结构中。
这是否可能?我该如何实现远程连接和文件复制?
只是想听听您的想法。感谢任何帮助。

您在远程服务器上使用的特定服务是否有限制,或者如果需要,您是否可以安装其他软件? - Mark Hildreth
如果可能的话,最好不要安装新软件,因为这是外部客户机的计算机,但我有管理员访问权限。没有特定的服务,只有文件操作。重新启动IIS服务可能会被使用,但在更新dlls或web.config时会自动进行。 - theringostarrs
1个回答

1
你试图创建的是有效的构建自动化,有一些优秀的持续集成产品可用。我的建议是使用免费的专业版 TeamCity 来编排你的构建过程。它与 SVN 配合得很好,并具有内置的 Visual Studio 和 MSBuild 运行程序。
在那里,除非你尝试做一些非常定制的东西,否则可以考虑使用 Web Deploy 推送应用程序。有一个名为 You're deploying it wrong! 的五部分博客系列,带你完成整个过程。

你说得对。我陷入了将部署到远程服务器作为自动化过程的一部分的困境中,这只是“好有的”。Web部署似乎涵盖了其余部分。 - theringostarrs

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接