SuperAPI AI 工具集

harness-expert

部署与运维

查看项目

更新于 10-16 03:19

技能介绍

用途

Harness Expert 是一个专家级技能,专注于 Harness 平台的模板类型、运行时输入、表达式语言、流水线模式(CI/CD、GitOps、Canary、Blue-Green)、版本管理以及步骤配置。它面向需要编写、理解或维护 Harness 流水线与模板的工程人员,提供结构化的知识参考和可复用的配置示例。

主要能力

模板类型

技能覆盖三类 Harness 模板:

  1. Step 模板:用于跨流水线复用步骤配置。支持的类型包括 ShellScript(执行 bash/PowerShell 脚本)、Run(带镜像/命令的容器步骤)、K8sDeploy(Kubernetes 部署)、Http(HTTP 调用/Webhook)、Approval(人工审批门)、ServiceNow(ServiceNow 集成)以及 Custom(自定义步骤插件)。
  2. Stage 模板:用于复用包含多个步骤的阶段定义,示例中展示了 Deployment 类型阶段,包含 service、infrastructure、execution 等配置。
  3. Pipeline 模板:用于定义完整流水线,包含审批门、通知和条件,示例中展示了 Build、Deploy Dev、Approval、Deploy Prod 等阶段。

运行时输入(<+input>)

技能讲解了运行时输入的声明方式,包括必填输入、带变量名的可选输入、带默认值的输入,以及字符串、数字、布尔、列表/数组、对象等输入类型示例。还介绍了条件输入,包括基于另一输入是否启用的条件块,以及带 conditions/then/else 的表达式条件。

表达式语言

技能覆盖多层级表达式:

  • 流水线级表达式:如 pipeline.name、pipeline.identifier、pipeline.executionId、pipeline.triggeredBy、pipeline.startTs、pipeline.sequenceNumber。
  • 阶段级表达式:如 stage.name、stage.identifier、stage.status、stage.type,以及阶段变量和阶段制品输出。
  • 步骤级表达式:如 steps.STEP_ID.output.outputKey、steps.build_docker.output.image、steps.deploy.status 等。
  • 环境变量:如 env.JIRA_URL、env.DOCKER_REGISTRY。
  • 密钥引用:如 secrets.getValue("my_secret")、secrets.getValue("vault://prod/db_pwd")。
  • 制品与输出表达式:如 artifact.image、artifact.imageTag、artifacts.COLLECTOR.IMAGE_ID。

流水线模式

技能提供了四种流水线模式的完整示例:

  1. 标准 CI/CD:流程为 Build → Test → Deploy Dev → Approval → Deploy Prod,包含各阶段的依赖关系、构建配置、测试命令、部署配置和人工审批。
  2. GitOps with ArgoCD:流程为 Build → Push Manifest → Trigger ArgoCD → Verify,包含构建 Docker 镜像、更新清单仓库、通过 HTTP 触发 ArgoCD 同步、验证部署等步骤。
  3. 金丝雀部署(Canary):流程为部署金丝雀(5% 流量)→ 验证 → 增量流量(25%)→ 再次验证 → 全量部署,包含 canaryStrategy 配置、指标验证脚本和流量调整命令。
  4. 蓝绿部署(Blue-Green):资料中该模式描述在“Descr”处截断,未提供完整内容。

使用方式

该技能以知识参考形式提供,用户可依据其中的模板结构、输入语法和表达式示例,在 Harness 平台中编写或调整自己的模板与流水线配置。资料中未提供具体的安装命令或调用步骤。

适用场景

适用于需要设计、实现或维护 Harness 流水线的场景,包括:构建标准 CI/CD 流程、基于 ArgoCD 的 GitOps 部署、金丝雀发布、蓝绿发布,以及需要复用 Step/Stage/Pipeline 模板、使用运行时输入和表达式语言的配置工作。

限制

资料中蓝绿部署模式内容不完整;未提供版本管理、步骤配置的详细说明;未提供安装命令、收费信息、平台支持范围或效果保证。以上未提及的内容暂未提供。