mirror of
https://github.com/magnus919/agent-skills.git
synced 2026-09-18 23:16:38 +03:00
Engineering: backend-engineering, frontend-engineering, data-engineering, ml-engineering, platform-engineering, qa-methodology Executive: go-to-market, legal-strategy, operational-design, org-design, product-strategy ml-engineering: added missing training-infrastructure.md reference qa-methodology: added test-data-management, performance-testing, security-testing references All frontmatter converted to agent-skills convention. Source: https://github.com/magnus919/hermes-profiles
63 lines
3.6 KiB
Markdown
63 lines
3.6 KiB
Markdown
# CI/CD Pipelines — Reference
|
|
|
|
## Pipeline Platforms
|
|
|
|
### GitHub Actions
|
|
|
|
- **Workflow structure:** `.github/workflows/*.yml` — triggers, jobs, steps, matrix builds
|
|
- **Key patterns:** reusable workflows (`uses:` with `{owner}/{repo}/.github/workflows/{name}@{ref}`), composite actions, OIDC for cloud auth, artifacts/pages for delivery
|
|
- **Secrets:** GitHub Actions secrets, environment-level secrets, OIDC as an alternative to static keys
|
|
- **Matrix builds:** `strategy.matrix` for cross-platform/testing, `fail-fast` for early exit
|
|
- **Self-hosted runners:** scale sets, labels, network isolation, ephemeral runners
|
|
|
|
### GitLab CI
|
|
|
|
- **Pipeline structure:** `.gitlab-ci.yml` — stages, jobs, needs (DAG), artifacts, cache
|
|
- **Key patterns:** multi-project pipelines, parent-child pipelines, merge request pipelines, scheduled pipelines
|
|
- **Runners:** shared vs specific, Docker executor, Kubernetes executor, tags, concurrency limits
|
|
- **Registry:** GitLab Container Registry integration, dependency proxy
|
|
|
|
### Forgejo CI / Gitea Actions
|
|
|
|
- **Structure:** `.forgejo/workflows/*.yml` or `.gitea/workflows/*.yml` — compatible with GitHub Actions syntax
|
|
- **Runners:** Forgejo Runner (act-based), self-hosted, labels for platform targeting
|
|
- **Key differences from GitHub Actions:** Lighter ecosystem, smaller action marketplace, often need to self-host runners
|
|
- **Secrets:** Forgejo repository/organization secrets, no OIDC built-in (use manual token exchange)
|
|
|
|
### Jenkins
|
|
|
|
- **Pipeline structure:** `Jenkinsfile` — declarative (`pipeline { }`) vs scripted (`node { }`)
|
|
- **Key concepts:** agents, stages, steps, post-build actions, shared libraries, Blue Ocean
|
|
- **Cloud integration:** Jenkins X for Kubernetes, plugin ecosystem, custom agents via Docker
|
|
|
|
### CircleCI
|
|
|
|
- **Pipeline structure:** `.circleci/config.yml` — orbs, executors, jobs, workflows (DAG)
|
|
- **Key concepts:** contexts (env sharing), workspaces/persist-to-workspace, parallelism, test splitting
|
|
- **Orbs:** reusable config packages (official and community orbs for AWS, Slack, browsers, etc.)
|
|
|
|
## GitOps
|
|
|
|
### Argo CD
|
|
|
|
- **Core model:** Declarative GitOps — desired state in Git repository, Argo CD syncs to cluster
|
|
- **Key concepts:** Applications, Projects, Sync strategies (auto/manual), sync waves, prune policies, health checks
|
|
- **Multi-cluster:** Hub-and-spoke, cluster registration, RBAC per cluster
|
|
- **Progressive delivery:** Rollouts, canary deployments, blue-green, traffic mirroring (Argo Rollouts add-on)
|
|
- **Patterns:** App-of-apps, Kustomize/Helm integration, config management plugins (CMP), ApplicationSets for multi-env/deployment
|
|
|
|
### Flux
|
|
|
|
- **Core model:** GitOps toolkit — source → kustomize/helm → sync to cluster
|
|
- **Key components:** Source Controller, Kustomize Controller, Helm Controller, Notification Controller, Image Automation
|
|
- **Key concepts:** GitRepository/Bucket sources, Kustomization/HelmRelease, OCIRepository, ImagePolicy
|
|
- **Multi-tenancy:** Namespace isolation, cross-namespace references, access controls
|
|
|
|
## Release Automation
|
|
|
|
- **Semantic versioning:** `MAJOR.MINOR.PATCH` — breaking changes, features, fixes; pre-release suffixes, build metadata
|
|
- **Changelog generation:** Conventional Commits → automated changelog (git-cliff, standard-version, semantic-release)
|
|
- **Artifact provenance:** SLSA levels, attestation (in-toto), SBOM generation (Syft, Trivy), signing (Cosign)
|
|
- **Release gates:** Manual approvals (GitHub Environments, GitLab Deployments), automatic rollback on health check failure
|
|
- **Artifact registries:** Container registries (Docker Hub, GHCR, GitLab Registry, ECR, GAR), package registries (NPM, PyPI, Maven)
|