JFrog Artifactory: Деплой Артефакта с помощью cURL

Artifactory компании JFrog — это системы управления артефактами (репозиторий для бинарных файлов).

Артефакты в Artifactory можно деплоить с помощью REST API.

В этой заметке я покажу, как залить артефакт (простой file.zip) в универсальный (generic) репозиторий в Artifactory, используя команду curl из командной строки в Linux или из PowerShell в Windows.

Дельный Совет: Скачать Артефакт с Artifactory с помощью cURL! Читать далее →

Загрузить Артефакт в Artifactory с помощью cURL

Чтобы задеплоить файл в универсальный репозиторий в Artifactory с помощью команды curl в Linux, выполните одну из следующих команд.

Базовая аутентификация по username и password или username и API Key:

$ curl -sSf -u "<USERNAME>:<PASSWORD>" \
       -X PUT \
       -T file.zip \
       'http(s)://<ARTIFACTORY_URL>/<REPO>/<PATH>/file.zip'

Загрузить файл в Artifactory с метаданными (properties):

$ curl -sSf -u "<USERNAME>:<PASSWORD>" \
       -X PUT \
       -T file.zip \
       'http(s)://<ARTIFACTORY_URL>/<REPO>/<PATH>/file.zip;released=true;build.number=1.0'

Аутентификация по API Key в заголовке HTTP:

$ curl -sSf -H "X-JFrog-Art-Api:<API_KEY>" \
       -X PUT \
       -T file.zip \
       'http(s)://<ARTIFACTORY_URL>/<REPO>/<PATH>/file.zip'

Загрузить файл в Artifactory с метаданными (properties):

$ curl -sSf -H "X-JFrog-Art-Api:<API_KEY>" \
       -X PUT \
       -T file.zip \
       'http(s)://<ARTIFACTORY_URL>/<REPO>/<PATH>/file.zip;released=true;build.number=1.0'
Опция Описание
-s, --silent Не показывать прогресс и сообщения об ошибках
-S, --show-error Когда используется вместе с -s, --silent, делает так, чтобы curl выводил сообщения об ошибках в случае их возникновения
-f, --fail Возвращает ошибку, если код ответа HTTP отличен от 200
-H, --header <header> Дополнительный HTTP-заголовок для включения в запрос
-u, --user <username:password> Имя пользователя и пароль для аутентификации на сервере
-X, --request PUT Отправить PUT-запрос
-T, --upload-file <file> Локальный файл для отправки по URL

cURL в Windows PowerShell

Wget & cURL: Команды curl и wget в PowerShell являются алиасами команды Invoke-WebRequest.

Спрятать шкалу прогресса Invoke-WebRequest, чтобы увеличить скорость загрузки:

PS C:\> $progresspreference = 'silentlyContinue'

Загрузить файл в универсальный репозиторий в Artifactory с помощью Windows PowerShell (аутентификация по API Key в заголовке HTTP):

PS C:\> curl -H @{'X-JFrog-Art-Api' = '<API_KEY>'} -method PUT -InFile 'C:\file.zip' 'http(s)://<ARTIFACTORY_URL>/<REPO>/<PATH>/file.zip'

Загрузить файл в Artifactory с метаданными (properties):

PS C:\> curl -H @{'X-JFrog-Art-Api' = '<API_KEY>'} -method PUT -InFile 'C:\file.zip' 'http(s)://<ARTIFACTORY_URL>/<REPO>/<PATH>/file.zip;released=true;build.number=1.0'
Опция Описание
-H, -Header Дополнительный HTTP-заголовок для включения в запрос
-method PUT Отправить PUT-запрос
-I, -InFile <file> Указать файл для отправки

Возобновить отображение прогресса:

PS C:\> $progressPreference = 'Continue'

Дельный Совет: Скачать файл с помощью PowerShell! Читать далее →