[英]GIT workflow development (all files) vs production (partial files)
设定:
1个GIT存储库,其中包含客户机/服务器/共享代码,当前位于1个分支上。
构建过程:
问题:
我不希望所有文件都在我的生产服务器上,而只是客户机和服务器文件夹的捆绑版本 。 如果我将master分支拉进去,我将获得所有文件,而不仅仅是捆绑版本。
解:
??? -我该如何处理? 创建其他存储库,创建多个分支? 通常如何完成?
通常,您希望将源代码管理,构建过程和可部署工件分开。 Git主要用于源代码控制,公认的做法是仅包含源代码。
然后,您将使用某些构建工具(Jenkins,Bamboo等)对其进行构建。然后,您可以使用构建工具中的构建结果,或者如果您更喜欢对Nexus或工件等工件使用版本控制。
这听起来可能很复杂,但是将来确实可以避免很多问题。
您可以使用.gitattributes (5)
export-ignore
指令来选择版本控制中的文件,但是在生产中不需要。
如果您使用Capistrano 3这样的部署系统,它将实际上使用git-archive (1)
。 此命令将创建要在发布文件夹中部署的存档,并且将遵守.gitattributes
文件中export-ignore
规则。
对于客户端文件,您可以在本地或在您部署的计算机上捆绑文件,然后将其重新rsync
或以任何其他方式将其上传到生产计算机上的发布文件夹,然后再激活新版本。
我还可以建议您实际将客户端文件部署到CDN上,并且服务器将只提供CDN中带有版本控制客户端的HTML页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.