分离Subversion存储库并创建部署策略

时间:2021-04-17 11:28:17

I have two separate components of my site: the website (MVC) and scraper based on php cli. Both components share common model files but are deployed on separate servers. Right now they both employ the same repository.

我的网站有两个独立的组件:网站(MVC)和基于php cli的scraper。两个组件共享通用模型文件,但部署在不同的服务器上。现在他们都使用相同的存储库。

I am looking to outsource development of the scraper but am looking to keep website development in house. So, I think the best way to do this would be to setup separate repositories for the site, scraper and shared files. But, I am not sure how to do this.

我希望将刮刀的开发外包,但我希望将网站开发留在内部。因此,我认为最好的方法是为站点,scraper和共享文件设置单独的存储库。但是,我不知道该怎么做。

Also, I do not have a strong deployment strategy. Currently I just copy over files when changes need to be made and store a backup.

另外,我没有强大的部署策略。目前,我只需在需要进行更改时复制文件并存储备份。

Any advice on how to manage this setup best?

有关如何最好地管理此设置的任何建议?

2 个解决方案

#1


0  

You could have a look on the property svn:external.

您可以查看属性svn:external。

#2


0  

I do not recommend you to separate the repositories, because it makes the process of getting tags (i.e. consistent snapshots) harder. Many times, you will need to keep the last stable version of the whole system, which will not be so easy when repositories are separated. For a deployment strategy, I propose you to have an automatic build strategy for your code. You can use Phing for this aim. Phing allows you to build what is needed to update your deployment. Configure your svn server in such a way to build your whole project using the Phing script after each check in.

我不建议您分离存储库,因为它使得获取标记(即一致的快照)的过程更加困难。很多时候,您需要保留整个系统的最后一个稳定版本,这在存储库分离时不会那么容易。对于部署策略,我建议您为代码制定自动构建策略。你可以使用Phing来实现这个目标。 Phing允许您构建更新部署所需的内容。配置您的svn服务器,以便在每次签入后使用Phing脚本构建整个项目。

Then, your build results can be automatically copied to a test server for more tests on development site. After getting an OK from QC, you can deploy the binaries on the real server.

然后,您的构建结果可以自动复制到测试服务器,以便在开发站点上进行更多测试。从QC获得OK后,您可以在真实服务器上部署二进制文件。

#1


0  

You could have a look on the property svn:external.

您可以查看属性svn:external。

#2


0  

I do not recommend you to separate the repositories, because it makes the process of getting tags (i.e. consistent snapshots) harder. Many times, you will need to keep the last stable version of the whole system, which will not be so easy when repositories are separated. For a deployment strategy, I propose you to have an automatic build strategy for your code. You can use Phing for this aim. Phing allows you to build what is needed to update your deployment. Configure your svn server in such a way to build your whole project using the Phing script after each check in.

我不建议您分离存储库,因为它使得获取标记(即一致的快照)的过程更加困难。很多时候,您需要保留整个系统的最后一个稳定版本,这在存储库分离时不会那么容易。对于部署策略,我建议您为代码制定自动构建策略。你可以使用Phing来实现这个目标。 Phing允许您构建更新部署所需的内容。配置您的svn服务器,以便在每次签入后使用Phing脚本构建整个项目。

Then, your build results can be automatically copied to a test server for more tests on development site. After getting an OK from QC, you can deploy the binaries on the real server.

然后,您的构建结果可以自动复制到测试服务器,以便在开发站点上进行更多测试。从QC获得OK后,您可以在真实服务器上部署二进制文件。