【发布时间】:2020-01-07 12:58:40
【问题描述】:
需要使用 TFVC 存储库使用 yaml 创建 CICD 管道。
【问题讨论】:
-
您能否edit 您的问题并尝试更详细地描述您预期的 CICD 管道?
-
事情进展如何?考虑接受一个您认为对您有帮助的答案,以便其他人可以参考该答案。
标签: azure-devops yaml azure-pipelines tfsbuild tfvc
需要使用 TFVC 存储库使用 yaml 创建 CICD 管道。
【问题讨论】:
标签: azure-devops yaml azure-pipelines tfsbuild tfvc
请参阅此文档:Two types of repositories the pipelines supported。
到目前为止,YAML 仅支持 git 类型的存储库,我们还没有扩展功能和 YAML 语法以支持 YAML for TFVC 存储库。
由于只有一种解决方法是将您的存储库从 TFVC 迁移到 Git,但我不确定您进行迁移是否可行,尤其是在您的存储库有点旧的情况下。如果 repos 有点旧,迁移会使其丢失许多历史记录,包括旧的提交和构建。
在我们的官方建议论坛上,有很多用户和你有相同的需求:Make YAML support TFVC。您可以在那里投票和评论您的需求。我们的产品组团队和相应的 PM 将审查这些建议,并考虑将其作为开发计划,为用户带来更灵活的体验。
【讨论】:
YAML 管道仅受 GIT 存储库支持,尽管 Microsoft 并未对此进行详细记录。您将无法使用 YAML 在 TFVC 中构建管道。虽然不是每个人都可以选择,但您可以考虑将 TFVC 项目转换为 GIT 存储库。
【讨论】:
不确定这是否符合您的需求:您还可以从 git repo 运行管道并通过 powershell 任务和 REST 下载 tf vc 源代码(请参阅 Azure pipeline build bring TFVC project references into git build)。
对于 CI 触发器:
$createReleaseBody =
@"
{
"definition": {
"id": $YamlPipelineId
},
"sourceBranch": "$branch",
"requestedFor": "$authorId",
"parameters": "{ tfvcChangesetId: $(BUILD.SOURCEVERSION), YamlTriggerBuildId: $(Build.BuildId) }",
}
"@
$triggeredBuild = Invoke-RestMethod -Uri "https://*******.com/tfs/*****/_apis/build/builds?api-version=6.0" -Method post -Headers $AzureDevOpsAuthenicationHeader -Body $createReleaseBody -ContentType 'application/json'
YAML 管道:
两年后的经验:
提示:
【讨论】: