在Bamboo中,如何将组件库资源库拉到固定位置以避免每分支重复?

我有几个使用大量组件库代码的项目。 这些库在源代码控制之下。

库库包含我所有项目使用的所有库,并包含多个库的多个版本。 每个库/版本对都位于自己的文件夹中。 我的每个项目都通过其项目文件中引用的文件夹path来标识所需的特定库/版本对。

例如$(LibraryPath)\SomeLibrary\v1.1.5

请注意,库存储库只被添加到 。 没有更改已经在存储库中的东西。 永远。

当然,我已经能够configuration我的构build计划,将库库拉到工作目录的libraries子文件夹。 到现在为止还挺好。 但是,使用Bamboo的auto分支pipe理function,这意味着所有项目中的每个分支都克隆了库存储库。

不好笑。 不,真的,不好笑

我想要做的是:

  • 在每个构build计划中拉取库存储库
  • 但将其拉到所有构build计划的固定位置
  • 它不一定是一个绝对的path
  • 但它确实需要在当前构build计划的工作目录之外,以避免不必要的重复

不幸的是,Bamboo构build计划中的Source Code Checkout configuration任务的Checkout Directory不允许我指定绝对path或相对于工作目录中的一个或多个级别“升”的相对path。 该提示文本明确指出“(可选)指定一个替代的子目录代码将签出。” 实际上,指定类似..\Library会受到“禁止将父目录签出”的消息的惩罚。

我看到有关Bamboo的“神器共享”function的信息。 这可能会起作用,但对于我想实现的目标来说似乎是过度的。

使用Atlassian的Bamboo持续集成实现我的目标最简单和最简单的方法是什么?

欢迎使用开箱即用的替代scheme,但请不要直接向我介绍任何需要亲密使用CLI和/或其文档假定(广泛)了解“nix和/或Java”设置的产品。 我在Windows上,被强大的(G)用户界面破坏。

我也有同样的问题 – 一个存储库重约2GB 。 我想简单地“ git checkout myBranch ”和“ git clean -fxd ”,而不是每次克隆(这应该节省大量的时间和磁盘空间)。 不过,我也喜欢Bamboo的自动触发器,新的分支显示出来。

像OP一样,我希望能够在“ CheckoutDirectory ”中为“源代码签出”任务放置“ .. \ SharedDirectory ”,但是它不会让我离开\ JOB_KEY \文件夹

一个可能的解决方案是:用上面的两个git命令替换“源代码签出”任务。 这样,我可以指定确切的时间/地点/如何做结帐。 我认为在这种情况下,初始结帐可能会有问题 – 但是一旦解决了,所有后续分支将使用相同的共享文件夹,并且不会每次都拉下2GB。