mcpField
N
neo-azure-pipelines

neo-azure-pipelines

github.com/benknightdark云与 DevOps739 次安装3 天前更新
代码仓库

关于 neo-azure-pipelines

用于根据项目语言、部署目标和安全要求设计 Azure DevOps Pipeline YAML 的技能,指导 CI/CD 结构,并优先使用可复用模板组装流水线。

主要功能

  1. 01评估项目与部署目标
  2. 02选择可复用流水线模板
  3. 03设计多阶段 CI/CD
  4. 04规划触发器与条件
  5. 05生成流水线 YAML 和任务引用

适用场景

  1. 01创建 .NET 构建流水线
  2. 02部署到 Azure App Service
  3. 03部署到本地 IIS
  4. 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.yml
deploy-iis.yml
templates/util/
clean-artifact.yml
extract-artifact.yml
set-aspnetcore-env.yml
templates/util/iis/
iis-backup.yml
iis-deploy-files.yml
iis-manage-website.yml
iis-rollback.yml
iis-start-website.yml
iis-stop-website.yml
iis-task.yml

详细介绍

Azure Pipeline 脚本设计规范

感知

  1. 当语法或任务版本与特定版本相关时,请对照 https://learn.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops 进行验证;如果无法浏览,请说明不确定之处,并依据内置模板和项目证据进行判断。
  2. 确定应用程序的开发语言(例如 .NET、Java、Python、Node.js)及其特定版本要求。
  3. 确定目标部署平台(例如 Azure App Service、Azure Kubernetes Service、Function App 或本地服务器)。
  4. 检查项目源代码结构,以确认构建工具(例如 Maven、Gradle、Npm、NuGet)和测试框架。
  5. 阅读安全与合规要求,包括静态应用程序安全测试(SAST)、包漏洞扫描和容器映像扫描。
  6. 确认环境变量要求、机密信息来源(例如 Azure Key Vault)以及 Service Connection 权限。
  7. 主动扫描 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 等。

推理

  1. 将文档中说明的任务版本与现有配置进行比较,以确定是否需要更新任务版本(例如使用 Checkout@v1 而不是 Checkout@v4)。
  2. 根据项目规模确定是否采用多阶段架构,以实现构建、测试、预发布和生产环境的逻辑隔离。
  3. 评估并设计构建缓存策略,优化依赖包目录以缩短执行时间。
  4. 根据分支策略设计触发机制,区分持续集成(CI)和持续部署(CD)的触发路径。
  5. 确定部署策略(例如蓝绿部署、金丝雀发布或滚动更新)是否适用。
  6. 验证 Pipeline 逻辑中的条件执行语法(Conditions),确保后续步骤仅在特定分支上或前置条件成功后执行。
  7. 优先使用 skills/neo-azure-pipelines/templates/ 中的模板来组装 Pipeline,而不是从头编写原始 YAML。
    • 如果项目使用 .NET 且需要部署到 IIS,请组合使用 build-dotnet.yml 和 deploy-iis.yml。
    • 如果需要处理构建产物,请优先使用 util/extract-artifact.yml。

行动

通用输出标准
  1. 输出符合当前项目兼容的 Azure DevOps 架构的 YAML 配置脚本;无法验证确切任务版本时,请说明假设。
  2. 提供全面的参数定义,以提升 Pipeline 执行的灵活性和可复用性。
  3. 提供有关 Environments、Approvals 和 Checks 的配置建议。
  4. 列出脚本中使用的 Task 资源引用,并标注版本号,以确保执行环境一致。
  5. 为常见执行错误(例如权限不足、依赖冲突)提供预防性注释和说明。
  6. 使用 template 语法引用选定的模板文件,并正确传递所需参数。例如:
    - template: skills/neo-azure-pipelines/templates/build/build-dotnet.yml
      parameters:
        buildConfiguration: 'Release'
    
CI 工作流:.NET 构建 Pipeline

为 .NET 项目配置 CI 流程时:

  1. 扫描项目目录,确定 .NET 版本(例如 .NET 6/8)、项目名称和解决方案文件(.sln)。
  2. 检查是否已有 Pipeline 配置。
  3. 创建 .pipelines/templates/build/ 和 .pipelines/templates/util/ 目录。
  4. 将 build/build-dotnet.yml 和 util/clean-artifact.yml 模板复制到对应目录。
  5. 在项目根目录生成 azure-pipelines-ci.yml,确保结构使用正确的 template 语法和参数。
CD 工作流:Azure App Service 部署

配置 Azure App Service 的 CD 流程时:

  1. 与用户确认 Azure App Service 名称、环境名称(例如 Production/Staging)和服务连接名称,或从项目上下文中确认。
  2. 确定构建制品名称。
  3. 将 deploy/deploy-app-service.yml 复制到项目的 .pipelines/templates/deploy/ 目录。
  4. 在项目根目录中生成部署管道文件(例如 azure-pipelines-cd-appservice.yml)。
  5. 确保 YAML 正确配置 environment、strategy: runOnce 和模板调用。
  6. 指导用户在 Azure DevOps 中设置相应的环境和审批。
CD 工作流:本地 IIS 部署

配置本地 IIS 的 CD 流程时:

  1. 确认 IIS 参数:网站名称、物理路径、部署组名称和目标环境。
  2. 检查项目是否需要特定的 ASP.NET Core 环境设置。
  3. 将整个 util/iis/ 目录和 deploy/deploy-iis.yml 模板复制到项目的 .pipelines/templates/ 目录。
  4. 在项目根目录中生成部署脚本(例如 azure-pipelines-cd-iis.yml),并引用 deploy-iis.yml,传入 websiteName 和 physicalPath 等参数。
  5. 确保脚本集成 iis-backup.yml 和 iis-rollback.yml 逻辑。
  6. 说明服务连接权限和部署组配置的要求。

评论

支持 Markdown