从存储库列表中删除旧工件
Deleting old artifacts from a list of repositories
我正在尝试从 jfrog artifactory 的存储库列表中删除工件(超过 6 个月)。
我正在创建一个如下所示的规范文件,并使用我正在使用 jfrog cli 删除的规范。
我的查询是有什么方法可以循环执行 aql 而不是手动更新 repo 名称:foobar
{
"files": [
{
"aql": {
"items.find": {
"repo": "foobar",
"$or": [
{
"$and": [
{
"modified": { "$lt": "2021-06-06T21:26:52.000Z"}
}
]
}
]
}
}
}
]
}```
jfrog rt del --spec /tmp/foo.spec --dry-run
I want to run the aql in loops only change will be the repo name . Is there a way to do it ?
看起来我们没有直接的方法来实现这一点,但您可以使用 -spec-vars 以便通过 CLI 命令传递动态变量。我的意思是说我们可以编写一个脚本来循环传递选定存储库的名称,并使用 --spec-vars 如下:
jfrog rt del --spec test.spec --spec-vars "RepoKey=libs-release-local" --dry-run
规格文件如下所示:
{
"files": [
{
"aql": {
"items.find": {
"repo": "${RepoKey}",
...............
}
}
}
]
}
此外,还有一个 Artifactory Cleanup 用户插件,我们可以在其中指定所需的存储库名称以根据您的需要进行清理,因此,您也可以参考这个。
您可能还想考虑使用 JFrog-CLI 插件:
https://github.com/jfrog/jfrog-cli-plugins/tree/main/rt-cleanup
这比 file-spec 方法更容易一些。
您需要做的就是安装插件:
jf plugin install rt-cleanup
然后删除旧工件:
jf rt-cleanup clean example-repo-local --time-unit=month --no-dl=6
我正在尝试从 jfrog artifactory 的存储库列表中删除工件(超过 6 个月)。 我正在创建一个如下所示的规范文件,并使用我正在使用 jfrog cli 删除的规范。 我的查询是有什么方法可以循环执行 aql 而不是手动更新 repo 名称:foobar
{
"files": [
{
"aql": {
"items.find": {
"repo": "foobar",
"$or": [
{
"$and": [
{
"modified": { "$lt": "2021-06-06T21:26:52.000Z"}
}
]
}
]
}
}
}
]
}```
jfrog rt del --spec /tmp/foo.spec --dry-run
I want to run the aql in loops only change will be the repo name . Is there a way to do it ?
看起来我们没有直接的方法来实现这一点,但您可以使用 -spec-vars 以便通过 CLI 命令传递动态变量。我的意思是说我们可以编写一个脚本来循环传递选定存储库的名称,并使用 --spec-vars 如下:
jfrog rt del --spec test.spec --spec-vars "RepoKey=libs-release-local" --dry-run
规格文件如下所示:
{
"files": [
{
"aql": {
"items.find": {
"repo": "${RepoKey}",
...............
}
}
}
]
}
此外,还有一个 Artifactory Cleanup 用户插件,我们可以在其中指定所需的存储库名称以根据您的需要进行清理,因此,您也可以参考这个。
您可能还想考虑使用 JFrog-CLI 插件: https://github.com/jfrog/jfrog-cli-plugins/tree/main/rt-cleanup 这比 file-spec 方法更容易一些。 您需要做的就是安装插件:
jf plugin install rt-cleanup
然后删除旧工件:
jf rt-cleanup clean example-repo-local --time-unit=month --no-dl=6