Как решить проблему развертывания конвейера выпуска с артефактами? - PullRequest
0 голосов
/ 05 марта 2020

Я использую Azure DevOps REST API для создания конвейера выпуска и развертывания программно. После запуска API развертывания он запускает выпуск, но не может загрузить артефакты. В разделе артефактов я настроил Azure Repos для загрузки кода внутри агента. Я получаю следующую ошибку.

[Ошибка 1] TF401019: Репозиторий Git с именем или идентификатором 21 не существует или у вас нет прав для выполняемой операции.

Число 21 - это время, когда я пытался выполнить sh эту задачу. Я не знаю, что пошло не так.

Для создания релиза я использую следующие детали в теле запроса.

"definitionId": String(release_definition_id),
"artifacts": [{
     "alias": releaseAlias,
     "instanceReference": {
         "definitionId": release_definition_id,
         "id": buildId,
         "sourceRepositoryId": azureRepoId,
         "sourceRepositoryType": "TfsGit",
         "sourceBranch": "master",
         "sourceVersion": azureRepoCommitId
      }
 }]

При создании релиза он не указывает на правильный идентификатор хранилища. Но я предоставил все правильные детали в определении релиза.

1 Ответ

1 голос
/ 06 марта 2020

Попробуйте использовать следующий формат:

{
  "definitionId": 11,
  "artifacts": [
    {
      "alias": "_BSC",
      "instanceReference": {
        "sourceBranch": "master",
        "sourceRepositoryId": "ee63d8d0-xxx-0bc08b6712be",
        "sourceRepositoryType": "TfsGit",
        "id": "34a0883b8c-xxxxx-b46c03958b0"
      }
    }
  ]
}

Ключевые моменты в приведенном выше определении:

alias: как вы описано, вы устанавливаете Azure Repos в разделе артефакта. Здесь это значение псевдонима должно быть вашим repos alias. Например, мое имя репо BSC, поэтому мой псевдоним репо _BSC.

id: измените sourceVersion вашего определения на id. Затем положите commit id здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...