Blankman Asked: 2009-06-26 10:44:57 +0800 CST2009-06-26 10:44:57 +0800 CST 2009-06-26 10:44:57 +0800 CST 在生产服务器上安装 Subversion 是个好主意吗? 772 在生产服务器上安装 Subversion 是个好主意吗? svn 6 个回答 Voted user10501 2009-06-26T11:04:15+08:002009-06-26T11:04:15+08:00 让我们在这里定义“好主意”。顺便说一句,我在这里做了一些假设——你所说的 svn 是指客户端,而不是源代码存储库。通过生产服务器,我假设您的意思是面向世界的网络服务器或类似的东西。 svn 本身可能不会伤害生产服务器。正如 Evan Anderson 所说,这是一个用户态进程,不会对运行它的机器造成太大伤害。 但是,对于面向世界的服务器来说,能够从您的源代码树中读取可能是一个非常糟糕的主意。挂在那里让全世界看到的机器有相当高的被入侵的可能性,当发生这种情况时,你并不真的希望黑客能够检查你的技术皇冠上的宝石。 只要 svn 客户端只能访问一组受限制的数据,我就不会犹豫将它放在生产服务器上——生产配置文件可能是一个很好的用途,而系统管理脚本可能是另一个用途。 总结:我不认为在生产机器上安装 svn 是一个特别好的或坏的主意——如果它有重要的实用性,那就去做吧。然而,我确实认为,无论是通过 svn 还是其他一些机制,生产服务器都可以访问主源代码树是一个可怕的想法。 Eric Petroelje 2009-06-26T10:50:29+08:002009-06-26T10:50:29+08:00 嗯,这取决于。如果生产服务器是指将其安装在生产 Web/数据库服务器上,那么可能不会。如果生产服务器的意思是“备份可靠的服务器”,那么是的。 我会避免将颠覆放在带有其他生产应用程序的服务器上,特别是如果它可以通过网络访问并且不需要。你想要的最后一件事是有人入侵那里并窃取(或破坏/删除)你的源代码。 Evan Anderson 2009-06-26T10:50:29+08:002009-06-26T10:50:29+08:00 嗯——如果你需要的话。这是一个用户级进程,因此无论服务器操作系统如何,都不太可能从根本上影响服务器性能(即操作系统崩溃等)。一般来说,如果你需要在服务器上安装一些东西,你应该安装它。如果你不这样做,你不应该。(我知道这听起来有点傻,但你会惊讶于我发现有多少台服务器无缘无故地运行着 HTTP / SMTP / 等服务器程序。) 决定将它安装到哪台特定的服务器计算机上取决于很多因素——容量、安全性、使用它的用户的可访问性、与可能需要相同 TCP 端口的其他软件的共存性等。 Martin Beckett 2009-06-26T11:44:47+08:002009-06-26T11:44:47+08:00 我会说 SVN 是向生产服务器推出代码的最安全方式。 结帐确认您已完全复制您测试的版本,不存在意外复制错误或陈旧文件的危险,然后 SVN 还将确认您拥有最新版本。 3dinfluence 2009-06-26T11:09:43+08:002009-06-26T11:09:43+08:00 如果您的目标是使用它来跟踪系统配置文件的更改,这是一个好主意,但有更好的工具可以做到这一点。 比如etckeeper。此工具确实要求您在服务器可以访问的某个地方拥有一个存储库。 Martijn Heemels 2009-06-26T13:40:21+08:002009-06-26T13:40:21+08:00 安装 svn 客户端应该不会给您带来任何麻烦。它是稳定的用户级软件,可以让您减少部署出错的机会。 我建议将其设置为不存储密码。万一有人闯入您的生产服务器,如果这让他们可以免费访问您的源代码存储库,那就太糟糕了。阅读有关如何禁用密码缓存的常见问题解答。
让我们在这里定义“好主意”。顺便说一句,我在这里做了一些假设——你所说的 svn 是指客户端,而不是源代码存储库。通过生产服务器,我假设您的意思是面向世界的网络服务器或类似的东西。
svn 本身可能不会伤害生产服务器。正如 Evan Anderson 所说,这是一个用户态进程,不会对运行它的机器造成太大伤害。
但是,对于面向世界的服务器来说,能够从您的源代码树中读取可能是一个非常糟糕的主意。挂在那里让全世界看到的机器有相当高的被入侵的可能性,当发生这种情况时,你并不真的希望黑客能够检查你的技术皇冠上的宝石。
只要 svn 客户端只能访问一组受限制的数据,我就不会犹豫将它放在生产服务器上——生产配置文件可能是一个很好的用途,而系统管理脚本可能是另一个用途。
总结:我不认为在生产机器上安装 svn 是一个特别好的或坏的主意——如果它有重要的实用性,那就去做吧。然而,我确实认为,无论是通过 svn 还是其他一些机制,生产服务器都可以访问主源代码树是一个可怕的想法。
嗯,这取决于。如果生产服务器是指将其安装在生产 Web/数据库服务器上,那么可能不会。如果生产服务器的意思是“备份可靠的服务器”,那么是的。
我会避免将颠覆放在带有其他生产应用程序的服务器上,特别是如果它可以通过网络访问并且不需要。你想要的最后一件事是有人入侵那里并窃取(或破坏/删除)你的源代码。
嗯——如果你需要的话。这是一个用户级进程,因此无论服务器操作系统如何,都不太可能从根本上影响服务器性能(即操作系统崩溃等)。一般来说,如果你需要在服务器上安装一些东西,你应该安装它。如果你不这样做,你不应该。(我知道这听起来有点傻,但你会惊讶于我发现有多少台服务器无缘无故地运行着 HTTP / SMTP / 等服务器程序。)
决定将它安装到哪台特定的服务器计算机上取决于很多因素——容量、安全性、使用它的用户的可访问性、与可能需要相同 TCP 端口的其他软件的共存性等。
我会说 SVN 是向生产服务器推出代码的最安全方式。
结帐确认您已完全复制您测试的版本,不存在意外复制错误或陈旧文件的危险,然后 SVN 还将确认您拥有最新版本。
如果您的目标是使用它来跟踪系统配置文件的更改,这是一个好主意,但有更好的工具可以做到这一点。
比如etckeeper。此工具确实要求您在服务器可以访问的某个地方拥有一个存储库。
安装 svn 客户端应该不会给您带来任何麻烦。它是稳定的用户级软件,可以让您减少部署出错的机会。
我建议将其设置为不存储密码。万一有人闯入您的生产服务器,如果这让他们可以免费访问您的源代码存储库,那就太糟糕了。阅读有关如何禁用密码缓存的常见问题解答。