Плагин Jenkins Artifactory, как и большинство клиентов JFrog, поддерживает спецификации файлов для загрузки и выгрузки общих c файлов. Схема File Specs описана здесь . При создании файла Spe c для загрузки файлов у вас есть возможность использовать свойство «pattern», которое может включать подстановочные знаки. Например, следующая инструкция c загружает все zip-файлы из репозитория my-local-repo в локальный каталог froggy:
{
"files": [
{
"pattern": "my-local-repo/*.zip",
"target": "froggy/"
}
]
}
В качестве альтернативы вы можете использовать «aql» вместо «pattern» , Следующая инструкция c обеспечивает тот же результат, что и предыдущая:
{
"files": [
{
"aql": {
"items.find": {
"repo": "my-local-repo",
"$or": [
{
"$and": [
{
"path": {
"$match": "*"
},
"name": {
"$match": "*.zip"
}
}
]
}
]
}
},
"target": "froggy/"
}
]
}
Допустимый синтаксис AQL в спецификации файлов не включает в себя все, что допускает язык запросов артефактов. Например, вы не можете использовать предложения «include» или «sort». Эти ограничения были введены, чтобы сделать структуру ответа известной и постоянной.
Однако сортировка по-прежнему доступна в спецификациях файлов, независимо от того, выберете ли вы «шаблон» или «aql». Поддерживается выбрасывать свойства File Spe c «sortBy», «sortOrder», «limit» и «offset». Например, следующий файл Spe c загрузит только 3 самых больших файла zip-файла:
{
"files": [
{
"aql": {
"items.find": {
"repo": "my-local-repo",
"$or": [
{
"$and": [
{
"path": {
"$match": "*"
},
"name": {
"$match": "*.zip"
}
}
]
}
]
}
},
"sortBy": ["size"],
"sortOrder": "desc",
"limit": 3,
"target": "froggy/"
}
]
}
И вы можете сделать то же самое с "pattern" вместо "aql":
{
"files": [
{
"pattern": "my-local-repo/*.zip",
"sortBy": ["size"],
"sortOrder": "desc",
"limit": 3,
"target": "local/output/"
}
]
}
Подробнее о спецификациях файлов можно прочитать здесь .
(ответив на этот вопрос, мы также обновили документацию по спецификациям файлов с этими примерами).