将 Azure DevOps 中的构建管道自动连接到具有特定前缀的新创建的存储库
Connecting Build pipeline in AzureDevOps to newly created repos with certain prefix Automatically
我在 Azure DevOps 中创建了一个构建管道,它连接到我 Github 中的一个存储库。但是,我想 connect/clone 将此构建管道添加到我的 github 中任何新创建的回购中,其名称中带有特定前缀,例如单词 'Build'.
您可以导航到构建管道,select 管道详细信息页面右侧的“选项”菜单,然后选择 Clone
项。
然后您可以将克隆的构建管道指向新的 Git 存储库并更改管道的名称以具有您想要的前缀。
Connecting Build pipeline in AzureDevOps to newly created repos with certain prefix Automatically
要自动化该过程,您需要使用定义 REST AP 获取 json 正文:
然后我们可以根据需要更改 json 文件,例如存储库 URL,将其更改为您在我的 github 中新建的存储库的新路径。
最后,我们可以使用上面的 Json 文件创建定义 REST API 来创建新管道:
$thisBuildDef.Name = $Clone_Name
$thisBuildDef.path = $BuildDefURL # Relative to the Project name; like "Release/2019"
$thisBuildDef.buildNumberFormat = $BuildNumberFormat
# Update source control path to new branch
$defAsJson = $thisBuildDef | ConvertTo-Json -Depth 100
$defAsJson = $defAsJson.Replace($sourceControlMainline, $sourceControlBranch)
$Uri = "https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=2.0"
$newBuildDef = Invoke-RestMethod -Uri $Uri -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Post -Body $defAsJson -ContentType "application/json" -ErrorAction Stop
查看文档Using JSON via REST to create build definitions in VSO and the vsts-clone-build-with-powershell.ps1 sample。
希望对您有所帮助。
我在 Azure DevOps 中创建了一个构建管道,它连接到我 Github 中的一个存储库。但是,我想 connect/clone 将此构建管道添加到我的 github 中任何新创建的回购中,其名称中带有特定前缀,例如单词 'Build'.
您可以导航到构建管道,select 管道详细信息页面右侧的“选项”菜单,然后选择 Clone
项。
然后您可以将克隆的构建管道指向新的 Git 存储库并更改管道的名称以具有您想要的前缀。
Connecting Build pipeline in AzureDevOps to newly created repos with certain prefix Automatically
要自动化该过程,您需要使用定义 REST AP 获取 json 正文:
然后我们可以根据需要更改 json 文件,例如存储库 URL,将其更改为您在我的 github 中新建的存储库的新路径。
最后,我们可以使用上面的 Json 文件创建定义 REST API 来创建新管道:
$thisBuildDef.Name = $Clone_Name
$thisBuildDef.path = $BuildDefURL # Relative to the Project name; like "Release/2019"
$thisBuildDef.buildNumberFormat = $BuildNumberFormat
# Update source control path to new branch
$defAsJson = $thisBuildDef | ConvertTo-Json -Depth 100
$defAsJson = $defAsJson.Replace($sourceControlMainline, $sourceControlBranch)
$Uri = "https://dev.azure.com/{organization}/{project}/_apis/build/definitions?api-version=2.0"
$newBuildDef = Invoke-RestMethod -Uri $Uri -Headers @{Authorization=("Basic {0}" -f $base64AuthInfo)} -Method Post -Body $defAsJson -ContentType "application/json" -ErrorAction Stop
查看文档Using JSON via REST to create build definitions in VSO and the vsts-clone-build-with-powershell.ps1 sample。
希望对您有所帮助。