手动跑CI/CD?用Azure DevOps CLI一条命令搞定全流程,真的绝了🔥

这个Skill在干嘛

还在Azure DevOps网页上点来点去创建PR、触发流水线、改工作项?azure-devops-cli这个Skill直接把Azure DevOps的全套操作塞进命令行,项目管理、仓库操作、CI/CD流水线、工作项、制品发布,一个az命令全搞定。

它基于Azure CLI 2.81.0版本,覆盖az devopsaz pipelinesaz boardsaz reposaz artifacts五大命令组,基本上你在网页上能做的事,命令行里都有对应操作。


核心功能

  • 项目与仓库管理:创建/删除项目、导入GitHub仓库、管理分支引用和仓库策略
  • Pull Request全流程:创建PR、指定Reviewer、投票审批、自动完成,支持关联工作项和标签
  • 流水线操作:创建、运行、监控Pipeline,管理变量组、Agent池、制品下载上传
  • 工作项管理:WIQL查询、批量更新状态、管理迭代和区域路径、关联父子关系
  • 安全与权限:管理安全组成员、配置仓库权限、设置分支保护策略
  • 自动化脚本模式:内置幂等操作模式、重试逻辑、错误处理,适合在CI/CD环境中直接调用

适用平台

这个Skill完美适配主流AI编程助手,包括CursorGitHub CopilotClaude CodeOpenAI CodexGemini Code Assist文心快码腾讯云CodeBuddy华为云CodeArts等。

加载这个Skill之后,AI能直接理解你的Azure DevOps操作意图,不用你再解释命令结构,直接说”帮我从feature分支创建一个PR到main,指定张三审核”,AI就能给出完整的az repos pr create命令,省去翻文档的时间。


实操代码示例

从当前分支一键创建PR并关联工作项:

CURRENT_BRANCH=$(git branch --show-current)
az repos pr create 
  --source-branch $CURRENT_BRANCH 
  --target-branch main 
  --title 'Feature: $(git log -1 --pretty=%B)' 
  --work-items 63 64 
  --reviewers lead@example.com 
  --auto-complete true 
  --open

流水线运行并等待结果,失败自动创建Bug工作项:

RUN_ID=$(az pipelines run --name 'CI-Pipeline' --query 'id' -o tsv)
while true; do
  STATUS=$(az pipelines runs show --run-id $RUN_ID --query 'status' -o tsv)
  [[ '$STATUS' != 'inProgress' ]] && break
  sleep 10
done
RESULT=$(az pipelines runs show --run-id $RUN_ID --query 'result' -o tsv)
if [[ '$RESULT' != 'succeeded' ]]; then
  az boards work-item create --title 'Build failed' --type Bug
fi

批量给所有仓库的main分支加上”最少2人审批”策略:

REPOS=$(az repos list --project MyProject --query '[].id' -o tsv)
for repo_id in $REPOS; do
  az repos policy approver-count create 
    --blocking true --enabled true 
    --branch main --repository-id $repo_id 
    --minimum-approver-count 2
done

优势分析

跟直接调Azure DevOps REST API比,这个Skill的命令行封装省掉了大量认证和参数拼接的工作。跟手动在网页操作比,最大的优势是可脚本化——所有操作都能写进Shell脚本,纳入版本控制,在任何CI/CD环境里复现。

内置的JMESPath查询支持让输出过滤变得很灵活,--output tsv配合Shell变量赋值,链式操作写起来非常顺手。幂等操作模式(先查存不存在再创建)也是生产环境脚本的标配,这个Skill里有现成的模板可以直接抄。


应用场景

  • DevOps工程师:把环境初始化脚本化,新项目上线时一键创建仓库、配置分支策略、建好变量组
  • 开发团队:在本地git hook里自动触发PR创建,提交代码后不用再去网页操作
  • 平台团队:批量管理几十个仓库的权限和策略,手动点网页根本不现实
  • 流水线监控:定时脚本检查Pipeline状态,失败时自动创建工作项并发送告警
  • 多环境部署:按顺序触发dev、staging、prod的部署流水线,每步等待结果再继续

最佳实践

PAT(个人访问令牌)建议通过环境变量传入,避免出现在Shell历史记录里:

export AZURE_DEVOPS_EXT_PAT=$MY_PAT
az devops login --organization $ORG_URL

设置默认org和project之后,后续命令可以省掉重复参数,脚本更简洁:

az devops configure --defaults organization=https://dev.azure.com/myorg project=MyProject

生产脚本里建议统一用--output tsv获取ID,用--only-show-errors屏蔽警告噪音,保持日志干净。变量组的创建要做幂等检查,避免重复运行脚本时报错。分支策略变更建议先在测试仓库验证,再批量推到所有仓库。

如果你的团队在用Azure DevOps做日常研发管理,这类自动化Skill积累多了会很有价值。Skill优仓上还有不少类似的DevOps和CI/CD相关Skill,可以按需组合使用,把重复的平台操作都脚本化掉。

手动跑CI/CD?用Azure DevOps CLI一条命令搞定全流程,真的绝了🔥-Skill优仓
手动跑CI/CD?用Azure DevOps CLI一条命令搞定全流程,真的绝了🔥
此内容为免费资源,请登录后查看
0
免费资源
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容