关于 neo-azure-pipelines
用于根据项目语言、部署目标和安全要求设计 Azure DevOps Pipeline YAML 的技能,指导 CI/CD 结构,并优先使用可复用模板组装流水线。
主要功能
- 01评估项目与部署目标
- 02选择可复用流水线模板
- 03设计多阶段 CI/CD
- 04规划触发器与条件
- 05生成流水线 YAML 和任务引用
适用场景
- 01创建 .NET 构建流水线
- 02部署到 Azure App Service
- 03部署到本地 IIS
- 04规划流水线触发器与阶段
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ benknightdark/ neo-skills --skill neo-azure-pipelines安装后在 Claude Code 中输入/neo-azure-pipelines确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
templates/deploy/deploy-app-service.ymldeploy-iis.ymltemplates/util/clean-artifact.ymlextract-artifact.ymlset-aspnetcore-env.ymltemplates/util/iis/iis-backup.ymliis-deploy-files.ymliis-manage-website.ymliis-rollback.ymliis-start-website.ymliis-stop-website.ymliis-task.yml详细介绍
Azure Pipeline 脚本设计规范
感知
- 当语法或任务版本与特定版本相关时,请对照
https://learn.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops进行验证;如果无法浏览,请说明不确定之处,并依据内置模板和项目证据进行判断。 - 确定应用程序的开发语言(例如 .NET、Java、Python、Node.js)及其特定版本要求。
- 确定目标部署平台(例如 Azure App Service、Azure Kubernetes Service、Function App 或本地服务器)。
- 检查项目源代码结构,以确认构建工具(例如 Maven、Gradle、Npm、NuGet)和测试框架。
- 阅读安全与合规要求,包括静态应用程序安全测试(SAST)、包漏洞扫描和容器映像扫描。
- 确认环境变量要求、机密信息来源(例如 Azure Key Vault)以及 Service Connection 权限。
- 主动扫描
skills/neo-azure-pipelines/templates/目录,识别现有的可复用模板资源。包括:- 构建:
build/build-dotnet.yml - 部署:
deploy/deploy-app-service.yml、deploy/deploy-iis.yml - 实用工具:
util/clean-artifact.yml、util/extract-artifact.yml、util/iis/*.yml等。
- 构建:
推理
- 将文档中说明的任务版本与现有配置进行比较,以确定是否需要更新任务版本(例如使用 Checkout@v1 而不是 Checkout@v4)。
- 根据项目规模确定是否采用多阶段架构,以实现构建、测试、预发布和生产环境的逻辑隔离。
- 评估并设计构建缓存策略,优化依赖包目录以缩短执行时间。
- 根据分支策略设计触发机制,区分持续集成(CI)和持续部署(CD)的触发路径。
- 确定部署策略(例如蓝绿部署、金丝雀发布或滚动更新)是否适用。
- 验证 Pipeline 逻辑中的条件执行语法(Conditions),确保后续步骤仅在特定分支上或前置条件成功后执行。
- 优先使用
skills/neo-azure-pipelines/templates/中的模板来组装 Pipeline,而不是从头编写原始 YAML。- 如果项目使用 .NET 且需要部署到 IIS,请组合使用
build-dotnet.yml和deploy-iis.yml。 - 如果需要处理构建产物,请优先使用
util/extract-artifact.yml。
- 如果项目使用 .NET 且需要部署到 IIS,请组合使用
行动
通用输出标准
- 输出符合当前项目兼容的 Azure DevOps 架构的 YAML 配置脚本;无法验证确切任务版本时,请说明假设。
- 提供全面的参数定义,以提升 Pipeline 执行的灵活性和可复用性。
- 提供有关 Environments、Approvals 和 Checks 的配置建议。
- 列出脚本中使用的 Task 资源引用,并标注版本号,以确保执行环境一致。
- 为常见执行错误(例如权限不足、依赖冲突)提供预防性注释和说明。
- 使用
template语法引用选定的模板文件,并正确传递所需参数。例如:- template: skills/neo-azure-pipelines/templates/build/build-dotnet.yml parameters: buildConfiguration: 'Release'
CI 工作流:.NET 构建 Pipeline
为 .NET 项目配置 CI 流程时:
- 扫描项目目录,确定 .NET 版本(例如 .NET 6/8)、项目名称和解决方案文件(
.sln)。 - 检查是否已有 Pipeline 配置。
- 创建
.pipelines/templates/build/和.pipelines/templates/util/目录。 - 将
build/build-dotnet.yml和util/clean-artifact.yml模板复制到对应目录。 - 在项目根目录生成
azure-pipelines-ci.yml,确保结构使用正确的template语法和参数。
CD 工作流:Azure App Service 部署
配置 Azure App Service 的 CD 流程时:
- 与用户确认 Azure App Service 名称、环境名称(例如 Production/Staging)和服务连接名称,或从项目上下文中确认。
- 确定构建制品名称。
- 将
deploy/deploy-app-service.yml复制到项目的.pipelines/templates/deploy/目录。 - 在项目根目录中生成部署管道文件(例如
azure-pipelines-cd-appservice.yml)。 - 确保 YAML 正确配置
environment、strategy: runOnce和模板调用。 - 指导用户在 Azure DevOps 中设置相应的环境和审批。
CD 工作流:本地 IIS 部署
配置本地 IIS 的 CD 流程时:
- 确认 IIS 参数:网站名称、物理路径、部署组名称和目标环境。
- 检查项目是否需要特定的 ASP.NET Core 环境设置。
- 将整个
util/iis/目录和deploy/deploy-iis.yml模板复制到项目的.pipelines/templates/目录。 - 在项目根目录中生成部署脚本(例如
azure-pipelines-cd-iis.yml),并引用deploy-iis.yml,传入websiteName和physicalPath等参数。 - 确保脚本集成
iis-backup.yml和iis-rollback.yml逻辑。 - 说明服务连接权限和部署组配置的要求。
评论
支持 Markdown