【问题标题】:dealing with documentation in CI在 CI 中处理文档
【发布时间】:2021-11-25 09:38:37
【问题描述】:

我们最近迁移到了 Git。我们的新仓库为 350MB,其中约 215MB (61%) 是名为 Documentation 的目录。除此之外,repo 还包含源代码和构建过程(TFS Build)用来生成安装程序的少数 WiX 项目。

主要用户(开发人员)不需要文档目录(它充满了半手工制作的 pdf 文件和其他打包到安装程序中的东西)。只有最终/CI 构建使用Documentation 目录。

我正在寻找有关如何在某处以这样的方式move out 文档的建议:

  • 不妨碍开发人员(即 git clone 只需提取 ~135MB+ 的压缩数据)
  • 保持构建过程简单,不会干扰正常的 CI 过程

我的一个想法是将文档移动到单独的存储库中并将其作为 Git 子模块导入。好像有点不方便,tbh...

【问题讨论】:

    标签: git build continuous-integration


    【解决方案1】:

    我的一个想法是将文档移动到单独的存储库中并将其作为 Git 子模块导入。

    就是这样:

    OP 在 cmets 中添加:

    将文档移动到子模块的问题是,如果有其他子模块(开发人员需要它们)——他们将开始使用git clone --recurse-submodules,这也将克隆docs,这使得这种移动有点毫无意义。

    它不必“也克隆docs”。

    1. 你可以exclude submodules when cloning your main repository

      git clone -recurse-submodules=":(exclude)docs"
      
    2. 然后开发者可以声明子模块docsnot active

      git config submodule.docs.active false
      

    所述子模块不会被克隆或更新。

    【讨论】:

    • 将文档移动到子模块的问题是,如果有其他子模块(并且开发人员需要它们)——他们将开始使用git clone --recurse-submodules,这也会克隆文档,从而使这个移出有点无意义。
    • @C.M.您实际上可以使用子模块,而无需克隆/更新该特定子模块 (docs):请参阅上面我编辑的答案。
    • 像魅力一样工作。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-11
    • 2019-06-10
    • 2011-07-12
    • 1970-01-01
    • 2011-01-11
    • 2011-12-03
    相关资源
    最近更新 更多