2010-12-01 58 views
3

我们想要将登台服务器和版本控制添加到我们的开发管道。我们的网站是一个复杂的Web应用程序,运行在使用PHP,MySQL和Apache的远程Linux服务器上。我们只是在办公室局域网上设置Subversion,并在Dreamweaver CS5中使用它。我们的开发机器运行Windows。使用Subversion并推送到舞台然后活动服务器

问题是如何最好地将临时服务器添加到此设置。我们是一个小团队,3名开发人员,所以我们不需要过于强大/复杂的解决方案。我不明白的是如何将Subversion repo(位于开发人员的一台机器上)的更改推送到临时服务器或实时服务器。

  1. 我读了很多关于人写这个钩子,但这是否意味着我们需要临时服务器和直播服务器上安装Subversion?我宁愿不这样做。

  2. 我想在开发人员将它们提交到Subversion时自动将文件上载到暂存服务器。如何才能做到这一点?

  3. 然后我需要一个自动化的过程来将文件从Staging服务器上传到Live服务器。这是我真的不明白的部分。特别是因为我不想在Live上安装Subversion。这通常如何完成?

  4. 是否将来自暂存服务器的所有文件推送到Live?或者有没有办法只推出自上次推动以来发生变化的方法?

  5. 我一直希望使用Windows XAMPP来设置登台服务器,但是我们的Live服务器是Linux,我们的一些站点代码具有特定于Linux的文件路径,看起来他们在Windows中无法工作。这个问题通常如何解决?是创建新的Linux Staging服务器的唯一解决方案吗?如果可能的话,我宁愿避免。

  6. 在我们的网站上,用户可以上传图片,这些图片存储在网站根目录以外的单独文件夹中。 Windows XAMPP可以像设置一样工作吗?我们现在最大的挑战是确保相同的代码在Linux/Windows上运行。有什么需要注意的?理论上这甚至是可能的吗?

谢谢!

+0

其中一个问题太多。你能缩小范围吗? – RedFilter 2010-12-01 18:56:22

回答

0
  1. 不需要。钩子可以在您的版本控制服务器上运行。钩子应该能够将构建推送到登台服务器。

  2. 挂钩可以提供这些功能,但为什么不将它从版本控制中分离出来。

  3. 自动上传意味着无法控制何时推送构建。大部分时间在开发中,中间构建被打破。我建议你在工作流程中包含一个像BuildBot这样的“连续集成工具”。这将完成报告构建健康状况损坏的构建和当前状态的工作。如果你愿意,你总是可以使用这种机制将良好的构建自动上传到登台服务器。

  4. 分段用于测试在QA环境中难以复制的完整实时环境中的构建。因此,如果发现它是一辆越野车,那么搭建阶段可能不会推到生活环境中。

  5. XAMPP在Windows上工作。在谷歌上检查它。尽管您的登台和现场环境应该完全相同,因为这是登台环境的意义所在。

  6. 从理论上讲,它应该起作用。你将不得不测试你的特定功能。

0

对于问题1和问题2,您在Subversion存储库(不需要在Web服务器上)上使用post-commit挂钩,它会将最新版本复制到临时服务器。

Re 3),这是一个坏主意,你不应该自动部署到生产。如果你这样做,一个不好的提交可能会导致你的网站失效。

4,5和6是真正不同的问题,应单独询问。