Argo CD 会通过监视 Git 存储库的变化来触发应用程序的重新部署。监视的是整个 Git 存储库的变化,而不只是特定目录。如果您只希望更改特定目录时才触发应用程序重新部署,则可以利用 Argo CD 提供的标签选择器功能来过滤要监视的目录。
以下是一个示例在标签 Selector 中使用路径匹配的示例:
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: my-app
spec:
source:
repoURL: https://github.com/example/my-app
path: config
targetRevision: HEAD
# 标签选择器
labelSelector:
# 包含 `config` 路径的任何文件变化都将触发应用重新部署
matchExpressions:
- key: app.kubernetes.io/path
operator: In
values:
- "config"
在这个例子中,如果跟踪的文件夹中任何带有标签 app.kubernetes.io/path=config
的文件发生变化,就会触发重新部署。
标签选择器还可以使用其他匹配运算符,例如 NotIn
,Exists
或 DoesNotExist
来更细粒度地控制触发重新部署的条件。