shell
Загрузка последнего Artifcat из Artifactory с помощью Shell Script
Поиск…
Вступление
Загрузите последний артефакт из репозитория Artifactory, используя сценарий оболочки.
ШАГИ ДЛЯ ЗАГРУЗКИ ПОСЛЕДНЕГО ИСКУССТВА
1. Получение ответа JSON для последнего измененного (последнего) артефакта
latestArtifactUriResponse=curl -u username:password --silent https://hostname.com/artifactory/api/storage/<repo_name>/<folder_name>/?lastModified | grep uri | awk '{ print $3 }' | sed s/\"//g | sed s/,//g
Он вернет ответ в следующем формате:
{
"uri" : "https://hostname.com/artifactory/api/storage/<repo_name>/<folder_name>/latest_artifact.tar.gz",
"lastModified" : "2016-12-22T04:26:25.534-0500"
}
2. Извлечение прямого URL-адреса в последний артефакт из "latestArtifactUriResponse"
latestArtifactUriReponse
вернет ответ в следующем формате:
{
"repo" : "repo_name",
"path" : "/folder_name/latest_artifact.tar.gz",
"created" : "2016-12-22T04:26:29.482-05:00",
"createdBy" : "username",
"lastModified" : "2016-12-22T04:26:25.534-05:00",
"modifiedBy" : "username",
"lastUpdated" : "2016-12-22T04:26:25.534-05:00",
"downloadUri" : "https://hostname.com/artifactory/repo_name/folder_name/latest_artifact.tar.gz",
"mimeType" : "application/octet-stream",
"size" : "94310686",
"checksums" : {
"sha1" : "ocb778e566890b0f3d115b828ce8dd4e840",
"md5" : "d050fb8108745973cf0d64e15667b340"
},
"originalChecksums" : {
},
"uri" : "https://hostanme.com/artifactory/api/storage/repo_name/folder_name/latest_artifact.tar.gz"
}
Здесь мы должны получить значение downloadUri
которое является прямым URL-адресом для последнего artifcat и сохранить его в переменной downloadUrl
:
downloadUrl=`curl -u username:password --silent $latestArtifactUrl | grep downloadUri | awk '{ print $3 }' | sed s/\"//g | sed s/,//g`
3. Загрузка последнего артефакта
curl -u username:password -O $downloadUrl
И все готово.
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow