用于管理IIS/Windows环境的代码部署/版本控制的工具

用于管理IIS/Windows环境的代码部署/版本控制的工具,iis,version-control,deployment,Iis,Version Control,Deployment,我在Linux和OSX方面有很强的背景,刚离开一份基于这些平台设计系统的工作 现在,我有一个运行IIS的Windows服务器,它拥有许多不同的网站。其中大多数只是一堆HTML、JS和图像,还有一些ASP用于一些客户工具。(每个网站都有一套不同的客户工具,或者它们是相同的工具,但是它们之间的代码有细微的变化。)我还添加了一个开发web服务器,使用相同的代码,但是是“前沿”的东西 我需要一种有效的方法来管理对整个代码库的更改和更新(从现在起,对于所有的站点,我都会引用图像、html和asp)。当开发

我在Linux和OSX方面有很强的背景,刚离开一份基于这些平台设计系统的工作

现在,我有一个运行IIS的Windows服务器,它拥有许多不同的网站。其中大多数只是一堆HTML、JS和图像,还有一些ASP用于一些客户工具。(每个网站都有一套不同的客户工具,或者它们是相同的工具,但是它们之间的代码有细微的变化。)我还添加了一个开发web服务器,使用相同的代码,但是是“前沿”的东西

我需要一种有效的方法来管理对整个代码库的更改和更新(从现在起,对于所有的站点,我都会引用图像、html和asp)。当开发人员(或网站管理员)签入更改时,我希望它自动显示在开发人员服务器上,但应该手动推送到实时服务器上。我很想让网站成为SVN存储库,但我会担心webdeveloper必须登录到服务器并通过命令行/tortise触发SVN更新的开销(天哪,管理标签)

理想情况下,我也会管理系统之间的IIS配置文件设置,但主要需要能够管理该过程,并将其公开给我们的ASP开发人员和网站管理员,这两个方面都用于将文件上传到实时站点


那么,关于工具(除了一些使用BAT文件的SVN黑客攻击+教网站管理员如何登录服务器并进行更新)或工作流的建议是否有助于解决这个问题?我甚至考虑使用RPM类型的软件包(当然,也可以是一些Windows等效软件包)来管理live server,但这似乎有点太大了。

首先,您需要确定网站管理员如何知道SCM中的最新软件已准备好部署(我假设您希望在开发人员签入后进行某种程度的验收测试)

根据上述答案,您应该能够定义在web服务器上构建和更新“已批准”内容的步骤,然后编写脚本


最后,问题不在于要运行的命令,而在于知道/何时/运行它们,并且开发人员的最后一次签入不一定能100%正常工作(即使没有错误,两个并发的更改,每个都正常工作,可能会发生冲突)。

我最终使用了类似Springloops.com的东西来管理这个问题。