0

Jenkins には、別のジョブ (いくつかの単体テストなど) のためにソース ツリーからアーティファクトをアーカイブするいくつかのジョブがあります。私は現在の状況を持っています:

top_dir
  \scripts_dir
      \some_files
      \dir1
      \dir2
      \dir3
  \other_dir

「scripts_dir」のファイルを含む「top_dir」にあるすべてのものをアーカイブしたいのですが、「scripts_dir」にある名前がわからないサブディレクトリ「dir1、dir2、...」はアーカイブしたくありません。これらのサブディレクトリは、実際にはディスク上の他の場所を指す Windows ディレクトリ ジョイントであり、それらをコピーしたくありません。

Jenkins の inculde/excludes パターンでこれを達成するにはどうすればよいですか?

include=top_dir/ 、 exclude= を持って、私はすでに試しました

**/scripts_dir/*/
**/scripts_dir/*/**
**/scripts_dir/**/*

ただし、常に「scripts_dir」フォルダー全体を除外します。

4

2 に答える 2

2

最後に、ブルートフォースを使用して、次の式がscripts_dir(シンボリックリンクかどうかに関係なく) のサブディレクトリ内のすべてのファイルを除外し、これらのサブディレクトリを削除し、ファイルを に直接保持することを発見しましたscripts_dir

**/scripts_dir/**/*/*/

とにかく助けてくれてありがとう。

于 2013-02-22T08:05:56.260 に答える
0

ANTマニュアルを読むと、デフォルトでtrueに設定されているfollowsymlinks属性があります。除外したいものはシンボリックリンクだとおっしゃいました(ただし、これがWindowsジョイントで機能するかどうかはわかりません)。追加してみてくださいfollowsymlinks=false

別の解決策:下にあるすべてのファイルscripts_dirの拡張子に文字数が設定されている場合は、それをincludeステートメントに含めることができます。これは、拡張子が3文字のファイルのみをピックアップします。
**/scripts_dir/*.???
詳細はこちら

于 2013-02-21T14:59:36.153 に答える