如何解决工件的发布管道部署问题?

How to solve the release pipeline deployment issue with the artifacts?

我正在使用 Azure DevOps REST API 创建发布管道并以编程方式进行部署。触发部署 API 后,它开始发布,但无法下载工件。在工件部分,我已将 Azure Repos 配置为在代理中下载代码。我收到以下错误。

[Error 1] TF401019: The Git repository with name or identifier 21 does not exist or you do not have permissions for the operation you are attempting.

数字21是我尝试完成这个任务的次数。我不知道出了什么问题。

为了创建版本,我在请求正文中使用了以下详细信息。

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

创建版本时它没有指向正确的存储库 ID。但是我已经在发布定义中提供了所有正确的细节。

尝试使用以下格式:

{
  "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 放在这里。