#rest #curl #azure-pipelines #azure-artifacts #azure-pipelines-tasks
#rest #curl #azure-конвейеры #azure-артефакты #azure-конвейеры-задачи
Вопрос:
Я хочу запустить некоторые команды CURL (в основном GET) в задаче конвейера Azure, чтобы перечислить / загрузить некоторые артефакты из нескольких источников. Был бы признателен за помощь с любыми примерами того, как я могу добиться этого с помощью задачи конвейера, используя CURL, Powershell, команду Windows или любой другой подходящий метод.
Спасибо
Ответ №1:
Самый простой способ сделать это — использовать задачу командной строки. Для конвейера YAML это будет выглядеть так
- task: CmdLine@2
displayName: Curl Example
inputs:
script: 'curl google.com'
Для конвейера «классического пользовательского интерфейса» это будет выглядеть так
Обратите внимание, что для любого из этих параметров вы должны использовать агент сборки Linux. Если вы используете агент сборки Windows, вам следует использовать Invoke-WebRequest
.
Комментарии:
1. @VitoLiu-MSFT, спасибо за отличный ответ. Однако после настройки задачи Powershell в конвейерах Azure у меня все еще возникает проблема при попытке загрузить пакет Maven (который изначально не был создан в Azure DevOps, но был импортирован в артефакты Azure из внешнего проекта) из моего канала. Похоже, что метод аутентификации, используемый в моей команде Invoke-WebRequest, не работает. Есть идеи, как это решить?
2. Доступна ли
curl
команда вообще в конвейере?
Ответ №2:
curl
в PowerShell используется Invoke-WebRequest. Начиная с PowerShell 3.03.0 и выше, мы могли бы использовать Invoke-WebRequest
, что эквивалентно curl
. Вы можете обратиться к этому документу для получения более подробной информации
Пример сценария в power shell
Invoke-WebRequest -URI https://www.educative.io/
Кроме того, в артефактах Azure DevOps URL-адрес содержит специальные символы, нам нужно использовать «», чтобы содержать его. Например
https://dev.azure.com/{Org name}/{project name}/_packaging?_a=feed "amp;" feed={feed name}