> ## Documentation Index
> Fetch the complete documentation index at: https://docs.skyhook.io/llms.txt
> Use this file to discover all available pages before exploring further.

# CI/CD Overview

Skyhook provides automated CI/CD pipelines for your services using GitHub Actions. When you create or import a service, Skyhook generates ready-to-use workflows that handle building Docker images, deploying to Kubernetes, and managing your entire release process.

## What you get

<CardGroup cols={3}>
  <Card title="Automated builds" icon="box">
    Docker images tagged, built, and pushed to your registry on every commit to main.
  </Card>

  <Card title="Multi-environment deploys" icon="layer-group">
    Promote across dev, staging, production, or any custom environment from the UI or CLI.
  </Card>

  <Card title="GitOps integration" icon="shuffle">
    Optional ArgoCD path — workflows update Git, ArgoCD reconciles the cluster.
  </Card>

  <Card title="Progressive delivery" icon="chart-line">
    Argo Rollouts canary and blue-green strategies wired into the deploy step.
  </Card>

  <Card title="Multi-cloud" icon="cloud">
    AWS (EKS + ECR), GCP (GKE + Artifact Registry), Azure (AKS + ACR), or BYOK clusters.
  </Card>

  <Card title="Monorepo support" icon="diagram-project">
    Build and deploy multiple services from a single repo with a generated matrix.
  </Card>
</CardGroup>

Everything is generated into your repo as plain GitHub Actions YAML — customize, fork, or replace any step.

## How it works

When you create a service with Skyhook, we automatically generate GitHub Actions workflows in your repository:

```
.github/
└── workflows/
    ├── release.yml          # Automated CI/CD on push to main
    ├── build_and_deploy.yml # Manual build + deploy
    ├── deploy.yml           # Manual deploy only
    └── build_image.yml      # Manual build only
```

These workflows integrate with:

* Your container registry (ECR, GCR, ACR, Docker Hub, GHCR)
* Your Kubernetes clusters
* Your Git repository (for GitOps deployments)

## Deployment methods

Two paths, picked per service. You can mix — direct for dev, GitOps for production.

<CardGroup cols={2}>
  <Card title="GitOps with ArgoCD" icon="shuffle" href="/infrastructure/gitops/overview">
    Workflow updates Kubernetes manifests in Git; ArgoCD reconciles the cluster. Best for production: Git as the source of truth, drift detection, easy Git-based rollbacks.
  </Card>

  <Card title="Direct (kubectl)" icon="bolt">
    Workflow authenticates to the cluster and applies manifests directly. Best for dev and staging: faster feedback, fewer moving parts, no extra infrastructure.
  </Card>
</CardGroup>

## Workflow types

<CardGroup cols={2}>
  <Card title="Release" icon="clock-rotate-left">
    Automatic — triggers on push to main. Builds, tags, pushes images, and (optionally) deploys to a development environment. Detects monorepo services and builds only what changed.
  </Card>

  <Card title="Build and deploy" icon="play">
    Manual — build a new image from any ref and deploy it in one shot. Useful for promoting a feature branch to staging before merge.
  </Card>

  <Card title="Deploy existing image" icon="forward">
    Manual — deploy an already-built image without rebuilding. Promote staging → production, roll back to a known-good image, or replicate a deployment across regions.
  </Card>

  <Card title="Build only" icon="box">
    Manual — build and push without deploying. Useful for pre-baking release candidates or testing Docker changes.
  </Card>
</CardGroup>

[Day-to-day deployment guide →](/application/cicd/workflows)

## Cloud and registry support

| Cloud | Cluster                   | Registry                            | Default auth                         |
| ----- | ------------------------- | ----------------------------------- | ------------------------------------ |
| AWS   | EKS                       | ECR                                 | OIDC + IAM role (no long-lived keys) |
| GCP   | GKE                       | Artifact Registry / GCR             | Workload Identity Federation         |
| Azure | AKS                       | ACR                                 | Service principal or OIDC            |
| BYOK  | Any conformant Kubernetes | Docker Hub, GHCR, Harbor, Quay, OCI | kubeconfig + registry secret         |

The `skyhook github setup` CLI configures the OIDC trust automatically. See [Configuration & Setup](/application/cicd/configuration) for the full setup walkthrough.

## Next steps

<CardGroup cols={3}>
  <Card title="Day-to-day deploys" icon="play" href="/application/cicd/workflows">
    Deploy modal, branch refs, image promotion, rollback patterns.
  </Card>

  <Card title="Configuration & setup" icon="key" href="/application/cicd/configuration">
    Cloud authentication, generated workflow files, advanced overrides, actions reference.
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/application/cicd/troubleshooting">
    Auth failures, build issues, ArgoCD sync problems, common error messages.
  </Card>
</CardGroup>
