Ash*_*ley 1 artifactory artifactory-query-lang
我需要为我在 artifactory 中的一个仓库中删除超过特定天数的工件版本。我的意思是,假设我的人工 url 存储库是:-
https://artifactory.mycompany.com/artifactory/myrepo/
Run Code Online (Sandbox Code Playgroud)
在该存储库下,几乎没有名称模式为 abc-*-xyz 的文件夹,这意味着这些文件夹的完全限定路径为:-
https://artifactory.mycompany.com/artifactory/myrepo/abc-1-xyz
https://artifactory.mycompany.com/artifactory/myrepo/abc-2-xyz
https://artifactory.mycompany.com/artifactory/myrepo/abc-3-xyz
Run Code Online (Sandbox Code Playgroud)
现在在这些文件夹中的每一个下都存储了我只想删除的实际版本化工件文件夹,这意味着整个版本文件夹例如两个网址的:-
https://artifactory.mycompany.com/artifactory/myrepo/abc-1-xyz/ver_11
https://artifactory.mycompany.com/artifactory/myrepo/abc-1-xyz/ver_12
https://artifactory.mycompany.com/artifactory/myrepo/abc-2-xyz/ver_3
https://artifactory.mycompany.com/artifactory/myrepo/abc-2-xyz/ver_5
Run Code Online (Sandbox Code Playgroud)
我可以看到下面的 stackoverflow 问题,并且能够使其适用于该用例,但无法为我的用例构建 AQL,因此我可以拥有相应的规范文件,该文件可用于删除我在此处需要的内容。
任何帮助我构建 AQL 文件,然后是可以调用以进行实际删除的规范文件的任何帮助,将一如既往地受到高度赞赏。
以下文件规范符合您的要求:
{
"files": [
{
"aql": {
"items.find": {
"repo": "myrepo",
"path": {"$match":"abc-*-xyz"},
"name": {"$match":"ver_*"},
"type": "folder",
"$or": [
{
"$and": [
{
"created": { "$before":"7d" }
}
]
}
]
}
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
上面的文件规范找到所有符合以下条件的文件夹:
要删除此文件规范找到的所有文件夹,请执行以下操作。
jfrog rt del --spec 删除文件夹规范
归档时间: |
|
查看次数: |
1197 次 |
最近记录: |