使用語法中的 glob 模式 - AWS CodePipeline

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用語法中的 glob 模式

當您指定管道成品或來源位置中使用的檔案或路徑時,您可以根據動作類型指定成品。例如,對於 S3 動作,您可以指定 S3 物件金鑰。

對於觸發程序,您可以指定篩選條件。您可以使用 glob 模式來指定篩選條件。範例如下。

當語法為「glob」時,會使用具有類似規則運算式的語法的有限模式語言來比對路徑的字串表示法。例如:

  • *.java 指定一個路徑,代表以 .java 結尾的檔案名稱

  • *.* 指定包含點的檔案名稱

  • *.{java,class} 指定以 .java 或 .class 結尾的檔案名稱

  • foo.? 指定以 foo. 和單一字元延伸字元開頭的檔案名稱

下列規則用於解譯 glob 模式:

  • 若要在目錄邊界中指定名稱元件的零個或更多字元,請使用 *

  • 若要指定名稱元件跨目錄界限的零個或更多字元,請使用 **

  • 若要指定名稱元件的一個字元,請使用 ?

  • 若要逸出原本會解譯為特殊字元的字元,請使用反斜線字元 (\)。

  • 若要指定一組字元中的單一字元,請使用 [ ]

  • 若要指定建置位置或來源儲存庫位置根中的單一檔案,請使用 my-file.jar

  • 若要在子目錄中指定單一檔案,請使用 directory/my-file.jardirectory/subdirectory/my-file.jar

  • 若要指定所有檔案,請使用 "**"** 全域模式表示 符合任何數量的子目錄。

  • 若要在名為 的目錄中指定所有檔案和目錄directory,請使用 "directory/**"** 全域模式表示 符合任何數量的子目錄。

  • 若要指定名為 的目錄中的所有檔案directory,但不是其任何子目錄,請使用 "directory/*"

  • 在括號表達式內, *?\ 字元會自我比對。如果是括號內的第一個字元,則 (-) 字元會比對本身,!如果是負數,則會比對括號後面的第一個字元。

  • { } 字元是子模式的群組,其中群組會在群組中的任何子模式相符時相符。"," 字元用於分隔子模式。群組不能巢狀組合。