如何在"构建开始之前删除工作区"部分中使用排除文件夹选项?

nig*_*are 5 jenkins jenkins-plugins

我想从删除中排除node_modules文件夹,但它会删除所有工作区.我已经尝试了很多模式,"在目录上应用模式"选项,没有它.

其中一些:**/node_modules/**,*/node_modules/*
我也发现了一个问题https://issues.jenkins-ci.org/browse/JENKINS-12783,但接缝就像我试图使用错误图案.

Rya*_*ton 6

抱歉,我没有其他答案,但是噩梦并没有使我一路走到最后的结果。由于JENKINS-1278,如果要排除node_modules父目录的子目录中的目录,则必须同时排除.git目录和父目录本身。

因此,假设您的目录布局如下:

subModule1/
    node_modules/
    ...
subModule2/
    node_modules/
    ...
Run Code Online (Sandbox Code Playgroud)

在这种情况下,您将需要排除以下目录:

**/.git/**
**/node_modules/**
subModule1
subModule2
Run Code Online (Sandbox Code Playgroud)

如果这样做,那么subModule1和subModule2内部的所有内容仍将被删除(当然,除了node_modules目录之外)。即使每次都没有完全消失,Git仍将获得最新更改的更新。

它对我有用,并且我没有选中“在目录上也应用模式”。似乎应该进行检查,但是根据该错误报告,您需要将其保留为未选中状态。


nig*_*are 5

答案是使用这种语法**/node_modules/**,但在排除文件夹之前,需要使用相同格式排除.git文件夹**/.git/**

感谢大家!

  • 好的。我现在明白了。一旦你让 \*\*/node_modules/\*\* 部分工作,那么 git 就不会将 repo 克隆到一个非空目录,所以一切都会被擦除。 (2认同)