从构建服务器中删除“.git”文件夹

问题描述 投票:0回答:1

我正在推动从bitbucket构建服务器(竹子)的后期构建

然后推送到神器,然后在八达通创建释放。

每次我构建发布包我都会包含.git文件夹。

在构建服务器构建并发布到artifactory和Octopus之前,是否有一种理智的方法来删除.git文件夹?

git bamboo
1个回答
2
投票

我认为问题在于你的构建过程主要(完全是?)一个打包过程并在源目录中“就地”运行。

这不是每个人都有的问题的原因,通常构建过程首先构建一个“目标”或“分发”目录,并采取所需的步骤,使其看起来完全像应该部署,然后打包分发目录而不是源目录。

这解决了很多问题。在编译语言中工作时,可能最大的一个是“我如何避免意外部署源文件”(相反,“我如何防止意外地将构建工件提交到源代码控制中”)。

但也许你的应用程序主要是HTML和javascript,你不编译任何东西,所以似乎没有理由在源目录和分发目录之间分离。我仍然鼓励你考虑转向这种类型的构建,即使唯一的“构建步骤”是将所需的文件从源复制到分发目录。这有两个原因:

首先,它解决了当前的问题。请注意.git目录可能只是最明显的症状。 (您现在可能已经或可能在将来找到您需要的其他git元数据文件 - 例如.gitignore,.gitattributes,... - 您可能也不希望部署这些文件。)

其次,它可以帮助您在将来无缝地添加更复杂的源到分发转换。 (也许您决定缩小生产构建的资源。也许您决定使用Web捆绑包。也许您合并了更少的样式表。也许您开始使用基于模块的依赖管理系统......)

在硬币的另一面,删除你的git文件夹(无论你发现如何“理智”)都可能有副作用。取决于如何配置构建作业,但通常将repo从一个构建保留到下一个构建以节省时间(不必从每个构建的原始repo中获取这么多)。

所有这一切,如果你想删除.git文件夹仍然...那么使第一个构建步骤成为rm文件夹的脚本有什么问题?

© www.soinside.com 2019 - 2024. All rights reserved.