Как использовать запрос curl для создания конвейера Azure из файла yaml с помощью интерфейса командной строки?

Я создал репо в лазурном, я создал файл bash, который клонировал репо из моего интерфейса командной строки, используя:

$ curl git clone https://[email protected]/organization/project/_git/reponame

который клонировал репо. Моя задача сейчас - автоматизировать файл yaml, который я сохранил на своем локальном компьютере, так что когда я нажимаю, он переходит в удаленное репо и строится автоматически. Буду признателен за ваши идеи. Спасибо


person Theo    schedule 15.05.2020    source источник
comment
Привет, @Theo. Вы пробовали Azure DevOps CLI, упомянутый Старианом. Это намного проще. Вы можете принять его в качестве ответа, если это сработало для вас.   -  person Levi Lu-MSFT    schedule 21.05.2020


Ответы (2)


Если вы не создали лазурный конвейер для своего репо, то нажатие файла yaml не вызовет конвейер, поскольку он не существует.

  • Как использовать запрос curl для создания конвейера Azure из файла yaml с помощью интерфейса командной строки?

Если вы собираетесь создать свой лазурный конвейер с помощью curl-запроса. Вы можете вызвать Определение сборки Создать restful api для создания конвейера через cli.

POST https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.1

См. Ниже пример сценария:

Отметьте здесь, чтобы получить токен личного доступа.

Вы можете вызвать api списка репозиториев, чтобы получить идентификатор вашего репозитория. Вы также можете получить идентификатор репозитория для пользовательского интерфейса (перейдите в Настройки проекта -> Репозитории в разделе Репо -> выберите < / strong> ваш репозиторий -> Вы увидите идентификатор репозитория в адресной строке repositoryId=96a56858-..-...)

curl -X POST \
-u username:personalaccesstoken https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=5.1 \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-d '{
    "name" : "MyPipelineName";
    "repository" : {
        "url" : "<the-https-link-to-my-Git-repo>";
        "defaultBranch" : "refs/heads/master";
        "id" : "Id of the repository";
        "type" : "TfsGit";
    };
    "process" : {
        "yamlFilename": "path to/my-pipeline.yml";
        "type" : 2;
    };
    "path": "\A New Folder";
    "type" : "build";
}'

Вы также можете создать конвейер Azure на портале пользовательского интерфейса проекта azure DevOps. Пожалуйста, проверьте подробные инструкции здесь < / а>. Поскольку у вас уже есть файл yaml. Вы можете выбрать Existing Azure Pipeline YAML file во время мастера настройки. См. ниже:

введите здесь описание изображения

Чтобы включить автоматический запуск вашего конвейера после того, как вы создали свой конвейер с помощью вышеуказанных методов. Вам необходимо определить триггеры в вашем yaml-файле. См. здесь для получения дополнительной информации.

Для примера ниже: каждое нажатие на основную ветку будет запускать сборку основной ветки.

trigger:
- master

Примечание: файл yaml должен существовать в ветке, чтобы запускать сборку для этой ветки.

person Levi Lu-MSFT    schedule 18.05.2020

Вы можете использовать Azure DevOps CLI:

  1. Сохранить токен личного доступа в среде (или другим способом)
  2. Создайте новое репо в своей организации DevOps, вызвав az repos create
  3. Переместите локальный репозиторий git в это репо (# 2), вызвав команду git push
  4. Создайте новый конвейер yaml, вызвав az pipelines create

Затем будет запущена соответствующая сборка.

person starian chen-MSFT    schedule 20.05.2020