用途
Harness Expert 是一个专家级技能,专注于 Harness 平台的模板类型、运行时输入、表达式语言、流水线模式(CI/CD、GitOps、Canary、Blue-Green)、版本管理以及步骤配置。它面向需要编写、理解或维护 Harness 流水线与模板的工程人员,提供结构化的知识参考和可复用的配置示例。
主要能力
模板类型
技能覆盖三类 Harness 模板:
- Step 模板:用于跨流水线复用步骤配置。支持的类型包括 ShellScript(执行 bash/PowerShell 脚本)、Run(带镜像/命令的容器步骤)、K8sDeploy(Kubernetes 部署)、Http(HTTP 调用/Webhook)、Approval(人工审批门)、ServiceNow(ServiceNow 集成)以及 Custom(自定义步骤插件)。
- Stage 模板:用于复用包含多个步骤的阶段定义,示例中展示了 Deployment 类型阶段,包含 service、infrastructure、execution 等配置。
- 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。
流水线模式
技能提供了四种流水线模式的完整示例:
- 标准 CI/CD:流程为 Build → Test → Deploy Dev → Approval → Deploy Prod,包含各阶段的依赖关系、构建配置、测试命令、部署配置和人工审批。
- GitOps with ArgoCD:流程为 Build → Push Manifest → Trigger ArgoCD → Verify,包含构建 Docker 镜像、更新清单仓库、通过 HTTP 触发 ArgoCD 同步、验证部署等步骤。
- 金丝雀部署(Canary):流程为部署金丝雀(5% 流量)→ 验证 → 增量流量(25%)→ 再次验证 → 全量部署,包含 canaryStrategy 配置、指标验证脚本和流量调整命令。
- 蓝绿部署(Blue-Green):资料中该模式描述在“Descr”处截断,未提供完整内容。
使用方式
该技能以知识参考形式提供,用户可依据其中的模板结构、输入语法和表达式示例,在 Harness 平台中编写或调整自己的模板与流水线配置。资料中未提供具体的安装命令或调用步骤。
适用场景
适用于需要设计、实现或维护 Harness 流水线的场景,包括:构建标准 CI/CD 流程、基于 ArgoCD 的 GitOps 部署、金丝雀发布、蓝绿发布,以及需要复用 Step/Stage/Pipeline 模板、使用运行时输入和表达式语言的配置工作。
限制
资料中蓝绿部署模式内容不完整;未提供版本管理、步骤配置的详细说明;未提供安装命令、收费信息、平台支持范围或效果保证。以上未提及的内容暂未提供。