如何将源版本控制与 Web 服务器集成?

How do I integrate source version control with a web server?

我了解源版本控制的概念以及它如何应用于 Windows 应用程序等独立项目。但是对于网页开发来说,大部分文件都存储在网页服务器上。这已经成为开发中的一个令人头疼的问题,许多人只是复制和重命名文件,然后将文件推送到生产环境,这又是一团糟。

我需要某种相对不太难学的源代码版本控制,并且必须是基于 GUI 的或者有 GUI 作为选项。将要使用它的人对命令行知之甚少。

如何将源版本控制与 Web 服务器文件集成?有哪些软件可用于此类工作?是否可以让源版本控制软件管理生产和开发 Web 服务器,或者我可能只为每个 Web 服务器安装两个单独的源版本控制并手动推送更改?

Web 服务器基于 Windows,并且 Java/JSP 也使用 Tomcat。

如有任何帮助,我们将不胜感激。谢谢。

我觉得你对版本控制的概念不是很清楚。版本控制是关于管理您的代码。它是关于将您的代码放在远程服务器(可能位于中央位置)并使用客户端工具访问它。这样,许多人可以处理代码的不同部分,而不是将他们的工作推送到版本控制服务器。它与项目的类型无关。 该项目可以是 windows 应用程序、Web 服务器应用程序或任何应用程序。 在使用版本控制时,定期或在需要时从版本控制服务器构建代码并将其部署到 Web 服务器,这意味着您正在部署已经构建的代码(a .war 用于 Web 应用程序) .

您首先部署到开发服务器,然后将相同的 war 部署到生产服务器。

您可以使用 SVN 服务器作为版本控制服务器,使用 Tortoise SVN 作为客户端。

您必须牢记两个不同但相互作用的事物 - 版本控制和部署工具:

  • VCS 与 任何 随时间演变的项目有关,您希望控制这些项目
  • 部署只需在正确的时间将正确的对象传送到正确的位置并将 "set of something" 转换为产品。

部署本身不是问题(几乎任何工作都可以自动化),在带有中央 STAGE(较少使用 PROD)服务器的 multiDEV 环境 (2+) 中的主要问题是 Devs 之间的通信和他们的同步问题运营,即 - 工作流程和管理:

想象一下 2 个(或更多)开发人员执行不同的不相关任务,他们想在公共 STAGING 服务器上测试自己的(且仅自己的)最新更改(因为他们没有功能性本地环境)。如果 1-st 在服务器上部署 "some WIP",他不希望自己的测试被中断,并且代码因部署第三方更改而中毒。他们必须沟通和协调行动,不能在 post-commit hook

中愚蠢 "copy to..."

And is it possible to have the source version control software administer both the production and development web servers

是的。但是 VCS 不是常识中的 "administer" 网络服务器,而是 "communicates" 或 "take into account"