经典Pipeline中如何跳过源码检出?TFVC项目阶段配置咨询
关于TFVC经典Pipeline禁用指定阶段源码检出及跨仓库脚本执行的解决方案
一、禁用指定阶段(Agent Job)的TFVC源码检出
经典Pipeline没有YAML里的checkout: none语法,但可以通过作业级别的源码设置实现:
- 打开经典Pipeline的编辑界面,进入目标Agent Job的配置页
- 找到顶部的获取源代码区域,点击编辑按钮
- 在「源代码管理」下拉菜单中选择无,保存配置后,该作业就不会自动检出当前TFVC项目的源码
二、跨仓库执行PowerShell脚本的实现
Agent Job 方案(可行)
既然已经禁用了当前TFVC的自动检出,你可以在Agent Job中添加以下步骤:
- 添加「PowerShell」任务
- 在脚本中使用
git clone(如果目标仓库是Git)或TFVC命令行工具tf.exe(如果是TFVC仓库)拉取目标仓库代码- Git示例:
git clone https://dev.azure.com/xxx/xxx/_git/TargetRepo - TFVC示例:
tf workspace /new /noprompt /collection:https://dev.azure.com/xxx TargetWorkspace; tf get $/TargetProject/TargetRepo /recursive
- Git示例:
- 切换到目标脚本目录,执行PowerShell脚本:
.\your-script.ps1
Agentless Job 限制
Agentless Job运行在Azure DevOps服务器端,没有本地执行环境,无法直接执行PowerShell脚本或克隆仓库——这类任务依赖本地文件系统和命令行工具,只能用Azure DevOps内置的无代理任务(如调用REST API、发送邮件等),所以跨仓库执行脚本的需求只能通过Agent Job实现
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

