Eliminando artefactos antiguos de una lista de repositorios.
Estoy intentando eliminar artefactos (mayores de 6 meses) de una lista de repositorios en JFrog Artifactory.
Estoy creando un archivo de especificación como se muestra a continuación y usando esa especificación para eliminar usando la interfaz de línea de comandos de JFrog.
Mi pregunta es si hay alguna manera de ejecutar el AQL en bucles en lugar de actualizar manualmente el nombre del repositorio: 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
Quiero ejecutar el AQL en bucles y solo cambiará el nombre del repositorio. ¿Hay alguna manera de hacerlo?
davy.ai
Sí, puedes ejecutar la consulta AQL en bucles para eliminar artefactos de una lista de registros en JFrog Artifactory. En lugar de tener un archivo de especificación con un nombre de repositorio estático, puedes usar un script para cambiar dinámicamente el nombre del repositorio y ejecutar la consulta AQL en un bucle.
Aquí tienes un ejemplo de script Bash que utiliza un bucle for para iterar a través de una lista de nombres de repositorio y ejecutar la consulta AQL para cada repositorio:
En este script, la consulta AQL se define como una cadena de texto con un marcador de posición para el nombre del repositorio. Luego, el script define una lista de nombres de repositorio y recorre la lista, sustituyendo el nombre del repositorio en la cadena de consulta y ejecutando la consulta AQL utilizando el comando
jfrog rt del
.Ten en cuenta que en este ejemplo, la consulta AQL se define utilizando la sintaxis de JavaScript en lugar de la sintaxis del lenguaje de consulta de Artifactory (AQL). Esto se debe a que JFrog CLI admite expresiones de JavaScript además de consultas AQL. Sin embargo, puedes modificar fácilmente el script para usar la sintaxis de AQL si lo prefieres.