harness-cd
Harness CD Skill
Deployment orchestration for Kubernetes, Helm, Terraform, ECS, serverless with GitOps.
Use For
- CD pipelines, strategies (Canary/Blue-Green/Rolling), environments
- Approval gates, GitOps, rollback, multi-environment promotion
Basic Deployment Pipeline
pipeline:
name: Deploy Pipeline
stages:
- stage:
name: Deploy Dev
type: Deployment
spec:
service:
serviceRef: my_service
environment:
environmentRef: development
execution:
steps:
- step:
name: Rolling Deploy
type: K8sRollingDeploy
timeout: 10m
rollbackSteps:
- step:
name: Rollback
type: K8sRollingRollback
Deployment Strategies
Rolling (gradual replacement)
- step:
type: K8sRollingDeploy
spec:
skipDryRun: false
Canary (progressive traffic shift)
- step:
type: K8sCanaryDeploy
spec:
instanceSelection:
type: Count
spec:
count: 1
Blue-Green (zero-downtime cutover)
- step:
type: K8sBGStageDeployment
- step:
type: K8sBGSwapServices
Service Configuration
Kubernetes
serviceDefinition:
type: Kubernetes
spec:
manifests:
- manifest:
type: K8sManifest
spec:
store:
type: Git
spec:
connectorRef: github_connector
branch: main
artifacts:
primary:
sources:
- type: DockerRegistry
spec:
imagePath: myorg/myapp
Helm
serviceDefinition:
type: NativeHelm
spec:
chartName: my-app
helmVersion: V3
Terraform
serviceDefinition:
type: CustomDeployment
spec:
customDeploymentRef:
templateRef: terraform_template
Environment & Infrastructure
environment:
name: Production
type: Production
infrastructureDefinition:
type: KubernetesDirect
spec:
connectorRef: k8s_connector
namespace: my-namespace
Approval Gates
- step:
type: HarnessApproval
spec:
approvers:
userGroups:
- account.ProductionApprovers
# Jira: type: JiraApproval, issueKey: <+pipeline.variables.jiraIssueKey>
# ServiceNow: type: ServiceNowApproval, ticketNumber: <+pipeline.variables.changeRequest>
GitOps Deployments
Argo CD
- step:
type: GitOpsUpdateReleaseRepo
spec:
variables:
- name: image_tag
value: <+artifact.tag>
- step:
type: GitOpsSync
spec:
prune: true
PR-Based GitOps
- step:
type: CreatePR
spec:
updates:
- path: environments/<+env.name>/values.yaml
key: image.tag
value: <+artifact.tag>
Deployment Verification & Rollback
- step:
type: Verify
spec:
type: Canary
sensitivity: MEDIUM
- step:
type: Http
spec:
url: <+infra.variables.serviceUrl>/health
failureStrategies:
- onFailure:
errors:
- AllErrors
action:
type: StageRollback
Multi-Environment Promotion
pipeline:
stages:
- stage:
name: Deploy Dev
spec:
environment:
environmentRef: development
- stage:
name: Deploy Staging
spec:
environment:
environmentRef: staging
when:
condition: <+pipeline.stages.deploy_dev.status> == "SUCCEEDED"
- stage:
name: Deploy Production
spec:
environment:
environmentRef: production
Triggers
# Artifact
trigger:
source:
type: Artifact
spec:
type: DockerRegistry
imagePath: myorg/myapp
# Webhook
trigger:
source:
type: Webhook
spec:
type: Github
# Scheduled
trigger:
source:
type: Scheduled
spec:
expression: "0 2 * * *"
CD Expressions
| Expression | Purpose |
|---|---|
| <+service.name> | Service |
| <+env.name> | Environment |
| <+infra.namespace> | Namespace |
| <+artifact.image>:<+artifact.tag> | Image |
| <+pipeline.stages.X.output.VAR> | Output |
API Operations
curl -X POST "https://app.harness.io/pipeline/api/pipeline/execute/${PIPELINE_ID}" -H "x-api-key: ${API_KEY}"
curl -X GET "https://app.harness.io/pipeline/api/pipelines/execution/v2/${EXECUTION_ID}" -H "x-api-key: ${API_KEY}"
curl -X PUT "https://app.harness.io/pipeline/api/pipelines/execution/interrupt/${EXECUTION_ID}" -H "x-api-key: ${API_KEY}"
Common Issues
| Issue | Solution |
|---|---|
| Deployment timeout | Increase step timeout |
| Image pull failed | Verify connector credentials |
| Namespace not found | Check infrastructure definition |
| Manifest error | Validate YAML locally |
| Approval timeout | Review approval workflow |
| Rollback failed | Configure rollback steps |
References
More from lobbi-docs/claude
vision-multimodal
Vision and multimodal capabilities for Claude including image analysis, PDF processing, and document understanding. Activate for image input, base64 encoding, multiple images, and visual analysis.
242design-system
Apply and manage the AI-powered design system with 50+ curated styles
126complex-reasoning
Multi-step reasoning patterns and frameworks for systematic problem solving. Activate for Chain-of-Thought, Tree-of-Thought, hypothesis-driven debugging, and structured analytical approaches that leverage extended thinking.
105gcp
Google Cloud Platform services including GKE, Cloud Run, Cloud Storage, BigQuery, and Pub/Sub. Activate for GCP infrastructure, Google Cloud deployment, and GCP integration.
73kanban
Kanban methodology including boards, WIP limits, flow metrics, and continuous delivery. Activate for Kanban boards, workflow visualization, and lean project management.
62debugging
Debugging techniques for Python, JavaScript, and distributed systems. Activate for troubleshooting, error analysis, log investigation, and performance debugging. Includes extended thinking integration for complex debugging scenarios.
59