直接从文档获取此示例。
docker build:
script: docker build -t my-image:$CI_COMMIT_REF_SLUG .
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
changes:
- Dockerfile
Dockerfile
的引用是对 /Dockerfile
的绝对引用(从存储库的根目录)还是对 **/Dockerfile
的引用(零个或多个目录深度)?**/Dockerfile
版本?**/Dockerfile
的引用,我该如何指定绝对 /Dockerfile
版本?路径
Dockerfile
是仅匹配/Dockerfile
的“绝对路径”。准确地说:路径是相对于项目目录的根目录的。为了方便起见,您可以将其视为“绝对”。
的文档,因为它仅在文档的某些部分中明确说明,就像rules:exists
一样。但您会发现这通常是这些路径键的行为。 (在您的示例中,您还指定了artifacts:paths
,您只是在那里使用速记符号,如示例下方的最后一个要点所示)。rules:changes:paths
要匹配项目目录中任何位置的文件您需要使用通配符并将路径用双引号括起来:
"**/Dockerfile"
。