设定:
1个GIT存储库,包含客户端/服务器/共享代码,当前位于1个分支上。
构建过程:
问题:
我不希望所有文件都在我的生产服务器上,只是客户端的捆绑版本和服务器文件夹。如果我将主分支拉入,我将获得所有文件而不仅仅是捆绑版本。
解决方案:
??? - 我该如何处理?创建其他存储库,创建多个分支?这通常是怎么做的?
答案 0 :(得分:3)
通常,您希望将源代码控制,构建过程和可部署工件分开。 Git主要用于Source Control,公认的做法是只包含源代码。
然后你会用一些构建工具(Jenkins,bamboo等)构建它 然后,您可以使用构建工具的构建结果,或者如果您更喜欢使用Nexus或artifactory等工件的版本控制。
这可能听起来很复杂,但未来会避免很多问题。
答案 1 :(得分:0)
您可以使用.gitattributes (5)
export-ignore
directive选择版本控制中的文件,但不需要进行生产。
如果您使用像Capistrano 3这样的部署系统,它实际上会使用git-archive (1)
。此命令将创建要部署在发布文件夹中的存档,它将遵守export-ignore
文件中的.gitattributes
规则。
对于您的客户端文件,您可以在本地或在您部署的计算机上捆绑文件,然后rsync
将其捆绑或以任何其他方式将其上载到生产计算机上的release文件夹,然后再激活新版本。< / p>
我还建议您实际将客户端文件部署到CDN,服务器只会提供带有CDN版本化客户端的HTML页面。