我的公司目前正在使用Mercurial和BitBucket实现版本控制系统。我们目前在bitbucket上设置了存储库,并且能够使用它们,但我们这样做的工作流程有点笨拙。我们使用Visual Studio在.Net中进行Web编程。目前,我们已在本地设置了一个克隆的存储库,并从那里开始工作。我们可以使用带VisualHg的Visual Studio来完成此操作。
为了编辑文件,我们在Visual Studio中从本地存储库打开它们并进行编辑。然后我们将更改提交给Hg,它会更新存储库。然后,我们需要将文件从本地系统FTP到DEV服务器进行测试,然后在QA完成并批准后再将FTP再次发送到生产服务器。
如果我们可以将BitBucket存储库与我们的DEV服务器同步,这将有助于简化工作,因此所需要的只是提交更改以便在DEV中进行测试,从而绕过定位和FTP所有相关文件的其他必要步骤。
有人知道这是否可行?如果是这样,你能指点我的任何文件,告诉我如何设置它吗?我们的开发人员将永远感激不尽。谢谢你的时间。
答案 0 :(得分:4)
在我看来,使用Mercurial并不是解决这个问题的正确方法。
它不是正确解决方案的主要原因是Mercurial中的文件不是您在生产服务器上所需的文件,因此不是您要在开发服务器上使用的文件(因为您希望QA环境尽可能接近生产环境)。 Mercurial中没有存储任何程序集文件(或者不应该存在),这些文件是服务器用来运行应用程序的文件。
Visual Studio中内置了可用于此任务的部署工具。可以将它们配置为只需单击一下按钮即可上传所有必需的文件。
Scott Hanselman has a post on his blog关于此事。
Troy Hunt通过引入一个this excellent set of posts的构建服务器,更进了一步。它使用Subversion作为存储库,但也可以使用Mercurial完成。
我更喜欢构建服务器方法,因为一旦你正确设置它,它就会100%可靠。每次要求它进行部署时,它都会做同样的事情。如果您使用Visual Studio来执行此操作,那么执行发布的开发人员可以选择不同的选项并将其弄错。