Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 在竹子中,如何将组件库存储库拉到固定位置以避免每个分支重复?_Windows_Git_Continuous Integration_Bamboo - Fatal编程技术网

Windows 在竹子中,如何将组件库存储库拉到固定位置以避免每个分支重复?

Windows 在竹子中,如何将组件库存储库拉到固定位置以避免每个分支重复?,windows,git,continuous-integration,bamboo,Windows,Git,Continuous Integration,Bamboo,我有几个项目使用了大量组件库中的代码。这些库受源代码管理 库存储库包含我的所有项目使用的所有库,并包含多个库的多个版本。每个库/版本对位于其自己的文件夹中。我的每个项目都通过其项目文件中引用的文件夹路径来标识它所需的特定库/版本对 例如$(LibraryPath)\SomeLibrary\v1.1.5 请注意,库存储库仅添加到。不会对存储库中已有的内容进行任何更改。永远 当然,我已经能够配置我的构建计划,将库存储库拉到工作目录的libraries子文件夹中。到现在为止,一直都还不错。但是,使用竹

我有几个项目使用了大量组件库中的代码。这些库受源代码管理

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

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

请注意,库存储库仅添加到。不会对存储库中已有的内容进行任何更改。永远

当然,我已经能够配置我的构建计划,将库存储库拉到工作目录的
libraries
子文件夹中。到现在为止,一直都还不错。但是,使用竹子的自动分支管理功能,此设置意味着为所有项目中的每个分支克隆库存储库

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

我想做的是:

  • 在每个构建计划中提取库存储库
  • 但将其拉到一个固定位置,该位置对于所有构建计划都是相同的
  • 它不必是一条绝对路径
  • 但它确实需要在当前构建计划的工作目录之外,以避免不必要的重复
不幸的是,竹子构建计划中
源代码签出配置
任务的
签出目录
不允许我为工作目录中的一个或多个级别指定绝对路径或相对路径。提示文本明确指出“(可选)指定代码将签出到的备用子目录。”实际上,指定类似于
。\Library
的内容会受到消息“禁止签出到父目录”的惩罚

我看过关于竹子“文物共享”特性的信息。这可能会奏效,但对于我想要实现的目标来说,这似乎有些过分了

使用Atlassian的Bambol Continuous Integration实现我的目标最简单、最简单的方法是什么?


欢迎使用开箱即用的替代方案,但请不要告诉我任何需要亲密使用CLI和/或其文档假定(广泛)了解“nix和/或Java设置”的产品。我在Windows上,被强大的(G)UI惯坏了。

我也有同样的问题——存储库的容量大约为2GB。 我只想简单地“git checkout myBranch”和“git clean-fxd”而不是每次都进行克隆(这将节省大量时间和磁盘空间)。然而,我也喜欢竹子的自动触发与新的分支出现

与OP一样,我希望能够将“。\SharedDirectory”放在“签出目录”中,以便 “源代码签出”任务,但它不允许我在\JOB\u KEY\folder上签出


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

很好的开箱思考。出于好奇:你认为这会适用于“门控签入”吗?换句话说:在每次推送到远程(或拉送请求)时运行此命令,并仅在构建成功时提交?我的疑问是,这个提交仍然需要签出才能工作?