License & Deployment Mix: 18 tools – 10 OSS, 8 SaaS. (OSS and SaaS counts can overlap when an open-source tool also offers a vendor-hosted edition.)
What Is CI/CD?
Continuous Integration (CI) is the practice of automatically building and testing code every time a developer pushes changes to a shared repository. CI catches broken builds, test failures, and integration conflicts early – before they reach production.
Continuous Delivery (CD) extends CI by automatically deploying validated artifacts to staging or production environments. CD ensures that every change passing CI is deployable, reducing the gap between writing code and releasing it.
Together, CI/CD forms the backbone of modern software delivery. A CI/CD pipeline is a sequence of automated stages – build, test, scan, package, deploy – triggered by repository events (push, pull request, tag, schedule). The pipeline definition typically lives in the repository itself (pipeline-as-code), versioned alongside the source code it builds.
CI/CD platforms solve the problems that arise when teams ship software frequently:
- Build automation – compile, bundle, and package code consistently across environments; eliminate “works on my machine” build failures
- Test execution – run unit tests, integration tests, end-to-end tests, and linting on every change; gate merges on passing results
- Deployment pipelines – promote artifacts through environments (dev, staging, production) with approvals, gates, and rollback capabilities
- Artifact management – store build outputs (binaries, Docker images, packages) with versioning and retention policies
- Secrets injection – securely provide API keys, credentials, and tokens to pipeline steps without exposing them in code
- Parallelism – execute independent pipeline stages concurrently to reduce total build time
- Caching – reuse dependency downloads, build outputs, and intermediate layers across pipeline runs to avoid redundant work
- Notifications – alert developers on build failures, deployment completions, and approval requests via chat, email, or webhook
The information on these pages was researched by a combination of human review and large language models. To suggest an addition or correction, please contact us. Prepared by Rhodium Systems Inc., author of the ResorsIT platform — a unified IT operations management platform for IT teams and MSPs that integrates a curated suite of open-source, commercial, and SaaS applications into a single system with shared identity, single sign-on, access control, and a common audit trail. Use this catalogue only as a starting point for your own research, and review any tool carefully against your own requirements before relying on it. Catalogue data version 2026.197.
Comparison
SSO / OIDC Comparison
Authentik is a common self-hosted identity provider; OIDC is the preferred SSO protocol.
| Tool | OIDC | SAML | Authentik Notes |
|---|---|---|---|
| Jenkins | Yes (plugin) | Yes (plugin) | OIDC via OpenID Connect plugin; Authentik as IdP; role mapping via claims |
| Woodpecker CI | Yes | No | Native OIDC support; Authentik as IdP; delegates auth to Git forge |
| Drone | Yes | No | Native OAuth; delegates auth to Git forge (Gitea, GitLab, GitHub) |
| Concourse CI | Yes | No | Native OIDC via cf auth connector; Authentik as IdP; team-based access |
| Tekton | No* | No | No built-in UI auth; use Tekton Dashboard behind Authentik reverse proxy |
| Forgejo Actions | Yes | No | Inherits Forgejo OIDC; Authentik as IdP; same session as forge |
| Gitea Actions | Yes | No | Inherits Gitea OIDC; Authentik as IdP; same session as forge |
| GoCD | Yes (plugin) | No | OIDC via plugin; Authentik as IdP; role mapping |
| Laminar | No | No | No auth; use reverse proxy + Authentik for access control |
| GitLab CI/CD | Yes | Yes* | Inherits GitLab OIDC; SAML with EE; Authentik as IdP |
| GitHub Actions | Yes* | Yes | Enterprise SAML SSO; OIDC for workload identity; Authentik as SAML IdP |
| Buildkite | Yes | Yes | Native SAML/OIDC; Authentik as IdP; team sync |
| CircleCI | Yes | Yes | SAML SSO (Scale plan); Authentik as IdP |
| Travis CI | No | No | GitHub OAuth only; no custom IdP |
| Azure Pipelines | Yes* | Yes | Entra ID (Azure AD) SSO; Authentik federation possible |
| AWS CodePipeline | Yes* | Yes | AWS IAM Identity Center; Authentik federation via SAML |
| Harness CI | Yes | Yes | Native SAML/OIDC; Authentik as IdP; SCIM provisioning |
| Semaphore | No | No | GitHub/Bitbucket OAuth only; no custom IdP |
* = requires specific configuration, enterprise tier, or external identity provider
Best SSO support: GitLab CI, Buildkite, Harness, CircleCI (native OIDC/SAML), Jenkins (via plugins)
No custom SSO: Travis CI (GitHub OAuth only), Semaphore (GitHub/Bitbucket OAuth only), Laminar (no auth), Tekton (no built-in UI)
Deployment Model
| Tool | License | Language | Self-Hosted | SaaS | Docker | K8s Native |
|---|---|---|---|---|---|---|
| Jenkins | MIT | Java | Yes | No | Yes | Helm chart |
| Woodpecker CI | Apache-2.0 | Go | Yes | No | Yes | Helm chart |
| Drone | Apache-2.0 | Go | Yes | No | Yes | Helm chart |
| Concourse CI | Apache-2.0 | Go | Yes | No | Yes | Helm chart |
| Tekton | Apache-2.0 | Go | Yes | No | N/A | Native (CRDs) |
| Forgejo Actions | MIT | Go | Yes | No | Yes* | Yes* |
| Gitea Actions | MIT | Go | Yes | No | Yes* | Yes* |
| GoCD | Apache-2.0 | Java/Ruby | Yes | No | Yes | Helm chart |
| Laminar | GPL-3.0 | C++ | Yes | No | No | No |
| GitLab CI/CD | MIT (CE) / Prop. | Ruby, Go | Yes | Yes | Yes | Helm chart |
| GitHub Actions | Proprietary | N/A | No** | Yes | N/A | N/A |
| Buildkite | Proprietary | Go (agent) | Hybrid*** | Yes | Yes | Helm chart |
| CircleCI | Proprietary | N/A | No**** | Yes | N/A | N/A |
| Travis CI | Proprietary | N/A | No | Yes | N/A | N/A |
| Azure Pipelines | Proprietary | .NET | Yes***** | Yes | Yes | Helm chart |
| AWS CodePipeline | Proprietary | N/A | No | Yes | N/A | N/A |
| Harness CI | Proprietary | Go, Java | Yes | Yes | Yes | Helm chart |
| Semaphore | Proprietary | N/A | No | Yes | N/A | N/A |
* = part of Forgejo/Gitea deployment; runners are separate containers
** = GitHub Enterprise Server includes Actions; runners self-hosted
*** = SaaS control plane + self-hosted agents
**** = CircleCI Server (self-hosted) available for enterprise
***** = Azure DevOps Server includes Pipelines
Pipeline Features
| Tool | Config Format | Pipelines-as-Code | Matrix Builds | Parallelism | Caching | Artifacts |
|---|---|---|---|---|---|---|
| Jenkins | Jenkinsfile (Groovy) | Yes | Yes | Yes | Plugin | Plugin |
| Woodpecker CI | YAML | Yes | Yes | Yes | Yes | Plugin |
| Drone | YAML | Yes | Yes | Yes | Plugin | Plugin |
| Concourse CI | YAML | Yes (set pipeline) | No native | Yes | No native | Yes |
| Tekton | K8s YAML (CRDs) | Yes | Yes | Yes | Workspace PVCs | Workspace PVCs |
| Forgejo Actions | YAML (GH Actions) | Yes | Yes | Yes | Yes | Yes |
| Gitea Actions | YAML (GH Actions) | Yes | Yes | Yes | Yes | Yes |
| GoCD | GUI / YAML plugin | Optional | No | Yes | No native | Yes |
| Laminar | Shell scripts | Yes | No | Queue-based | No | Filesystem |
| GitLab CI/CD | YAML | Yes | Yes | Yes | Yes | Yes |
| GitHub Actions | YAML | Yes | Yes | Yes | Yes | Yes |
| Buildkite | YAML | Yes | Yes (matrix) | Yes | Yes (agent) | Yes |
| CircleCI | YAML | Yes | Yes | Yes | Yes | Yes |
| Travis CI | YAML | Yes | Yes | Yes | Yes | Limited |
| Azure Pipelines | YAML / GUI | Yes | Yes | Yes | Yes | Yes |
| AWS CodePipeline | JSON / YAML | Yes | No native | Yes | Yes (CodeBuild) | S3 |
| Harness CI | YAML / GUI | Yes | Yes | Yes | Yes (Intelligence) | Yes |
| Semaphore | YAML | Yes | Yes | Yes | Yes | Yes |
Container & Kubernetes Support
| Tool | Container Builds | Container Runners | K8s Executor | Helm Deploy |
|---|---|---|---|---|
| Jenkins | Docker, Kaniko, Buildah | Docker agent | K8s plugin (pod agents) | Plugin |
| Woodpecker CI | Docker, plugins | Docker (native) | K8s backend | Via step |
| Drone | Docker, plugins | Docker (native) | K8s runner | Via step |
| Concourse CI | OCI task images | Container (native) | K8s worker | Via task |
| Tekton | Kaniko, Buildah (in-cluster) | K8s pods (native) | Native | Via task |
| Forgejo Actions | Docker, Kaniko | Docker (act_runner) | K8s mode | Via step |
| Gitea Actions | Docker, Kaniko | Docker (act_runner) | K8s mode | Via step |
| GoCD | Docker, plugins | Docker agent | K8s elastic agent | Plugin |
| Laminar | Manual (shell) | No | No | No |
| GitLab CI/CD | Docker, Kaniko, Buildah | Docker, K8s executor | K8s executor | Via job |
| GitHub Actions | Docker, Buildx | Docker (hosted/self) | Self-hosted on K8s | Via action |
| Buildkite | Docker, plugins | Docker (agent) | K8s agent | Via step |
| CircleCI | Docker, remote Docker | Docker, machine | Self-hosted runner | Via step |
| Travis CI | Docker | Docker, VM | No | No |
| Azure Pipelines | Docker, Buildx | Docker, VM | K8s environments | Via task |
| AWS CodePipeline | Docker (CodeBuild) | CodeBuild containers | ECS/EKS deploy | Via action |
| Harness CI | Docker, Kaniko, Buildah | Docker, VM, K8s | K8s delegate | Built-in |
| Semaphore | Docker | Docker, VM | No | Via step |
SCM Integration
| Tool | Gitea/Forgejo | GitLab | GitHub | Bitbucket | Azure Repos |
|---|---|---|---|---|---|
| Jenkins | Plugin | Plugin | Plugin | Plugin | Plugin |
| Woodpecker CI | Yes (native) | Yes | Yes | Yes | No |
| Drone | Yes (native) | Yes | Yes | Yes | Yes |
| Concourse CI | Git resource | Git resource | Git resource | Git resource | Git resource |
| Tekton | Git resolver | Git resolver | Git resolver | Git resolver | Git resolver |
| Forgejo Actions | Forgejo only | No | No | No | No |
| Gitea Actions | Gitea only | No | No | No | No |
| GoCD | Git material | Git material | Git material | Git material | Git material |
| Laminar | Webhook/script | Webhook/script | Webhook/script | Webhook/script | Webhook/script |
| GitLab CI/CD | No | GitLab only | Mirror | No | No |
| GitHub Actions | No | No | GitHub only | No | No |
| Buildkite | Webhook | Webhook | Yes (native) | Webhook | Webhook |
| CircleCI | No | Yes | Yes | Yes | No |
| Travis CI | No | No | Yes | No | No |
| Azure Pipelines | No | No | Yes | Yes | Yes (native) |
| AWS CodePipeline | No | No | Yes | No | No (CodeCommit deprecated) |
| Harness CI | No | Yes | Yes | Yes | Yes |
| Semaphore | No | No | Yes | Yes | No |
API Comparison
| Tool | API Type | Auth | Webhooks |
|---|---|---|---|
| Jenkins | REST | Token, Basic, OIDC | Yes |
| Woodpecker CI | REST | Token, OAuth | Yes (forge events) |
| Drone | REST | Token, OAuth | Yes (forge events) |
| Concourse CI | REST | Token (fly CLI) | No (polling) |
| Tekton | K8s API (CRDs) | K8s RBAC | Tekton Triggers |
| Forgejo Actions | REST (Forgejo API) | Token, OAuth | Yes |
| Gitea Actions | REST (Gitea API) | Token, OAuth | Yes |
| GoCD | REST | Token, OAuth | Yes (plugins) |
| Laminar | Minimal REST | None | No |
| GitLab CI/CD | REST + GraphQL | PAT, OAuth2, JWT | Yes |
| GitHub Actions | REST + GraphQL | PAT, OAuth, App JWT | Yes |
| Buildkite | REST + GraphQL | Token, OAuth | Yes |
| CircleCI | REST v2 | Token | Yes |
| Travis CI | REST v3 | Token | Yes |
| Azure Pipelines | REST | PAT, OAuth2 | Yes (service hooks) |
| AWS CodePipeline | REST (AWS SDK) | IAM credentials | EventBridge |
| Harness CI | REST + GraphQL | API key, OAuth | Yes |
| Semaphore | REST v2 | Token | Yes |
Monitoring Integration
| Tool | Prometheus Metrics | Structured Logs | Grafana Dashboards |
|---|---|---|---|
| Jenkins | Yes (Prometheus plugin) | Logback (JSON plugin) | Community dashboards |
| Woodpecker CI | Yes (/metrics) | JSON stdout | Community dashboards |
| Drone | Yes (/metrics) | JSON stdout | Community dashboards |
| Concourse CI | Yes (/metrics) | JSON stdout | Community dashboards |
| Tekton | Yes (controller metrics) | Structured (K8s) | Community dashboards |
| Forgejo Actions | Yes (Forgejo /metrics) | JSON stdout | Community dashboards |
| Gitea Actions | Yes (Gitea /metrics) | JSON stdout | Community dashboards |
| GoCD | No (JMX via Jolokia) | Log files | JVM dashboards |
| Laminar | No | stderr | None |
| GitLab CI/CD | Yes (per-service) | JSON log files | Official dashboards |
| GitHub Actions | No (SaaS) | N/A | Availability only |
| Buildkite | Agent metrics (StatsD) | Agent logs | Community dashboards |
| CircleCI | No (SaaS) | N/A | Availability only |
| Travis CI | No (SaaS) | N/A | Availability only |
| Azure Pipelines | No (SaaS) | N/A | Availability only |
| AWS CodePipeline | CloudWatch metrics | CloudWatch Logs | CloudWatch dashboards |
| Harness | Yes (self-hosted) | JSON logs | Built-in dashboards |
| Semaphore | No (SaaS) | N/A | Availability only |
Best monitoring integration: Woodpecker CI, Drone, Concourse, Tekton, Forgejo/Gitea Actions, GitLab CI (native Prometheus endpoints with structured JSON logging). Jenkins has good metrics via plugin.
SaaS tools (GitHub Actions, CircleCI, Travis CI, Azure Pipelines, Semaphore): monitoring is limited to external HTTP availability checks and API-based pipeline status polling.
Tools
18 tools.
AWS CodePipeline / CodeBuild
AWS CodePipeline and CodeBuild are Amazon Web Services’ native CI/CD services. CodePipeline orchestrates the delivery workflow (source, build, test, deploy stages), while CodeBuild executes build and test steps in managed containers…
License: Proprietary (proprietary) · Kind: web · Deploy: saas · SSO: none
Azure DevOps Pipelines
Azure DevOps Pipelines is Microsoft’s CI/CD platform supporting YAML and classic pipelines, multi-stage builds, hosted and self-hosted agents, and deployment to any cloud or on-premises target.
License: Proprietary (proprietary) · Kind: web · Deploy: native, saas · SSO: SAML
Buildkite
Hybrid CI/CD: SaaS control plane plus self-hosted agents executing pipeline steps on customer infrastructure.
License: Proprietary (proprietary) · Kind: web · Deploy: saas · SSO: OIDC, SAML
CircleCI
Cloud-native CI/CD platform focused on speed and developer experience; YAML configuration via .circleci/config.yml.
License: Proprietary (proprietary) · Kind: web · Deploy: saas · SSO: SAML
Concourse CI
Concourse CI is a pipeline-based CI/CD system built on three core abstractions: resources (versioned external inputs/outputs), tasks (units of work in containers), and jobs (sequences of resource gets, tasks, and resource puts)….
License: Apache-2.0 (OSS) · Kind: web · Deploy: native · SSO: OIDC
Drone
Drone is a container-native CI/CD platform written in Go. Originally created by Brad Rydzewski, Drone pioneered the concept of running every pipeline step in an isolated Docker container.
License: Apache-2.0 (OSS) · Kind: web · Deploy: native, docker · SSO: none
Forgejo Actions
Forgejo Actions is the built-in CI/CD system of Forgejo, the community-governed Gitea fork; it is compatible with GitHub Actions workflow syntax and runs jobs in containers via a separate runner.
License: MIT (OSS) · Kind: web · Deploy: native · SSO: OIDC, SAML
Gitea Actions
Built-in CI/CD of Gitea (since 1.19); designed for compatibility with GitHub Actions workflow syntax; inherits Gitea’s SSO.
License: MIT (OSS) · Kind: web · Deploy: native · SSO: OIDC, SAML
GitHub Actions
GitHub’s built-in CI/CD platform (2019); the most popular CI/CD for OSS projects and a major player in enterprise CI/CD.
License: Proprietary (proprietary) · Kind: web · Deploy: native, saas · SSO: SAML
GitLab CI/CD
GitLab CI/CD is the built-in continuous integration and delivery system of GitLab, defining YAML pipelines run on runners with Docker, Kubernetes, and shell executors.
License: MIT (OSS) · Kind: web · Deploy: docker, k8s, native, saas · SSO: OIDC, SAML
GoCD
GoCD is a CI/CD server originally built by ThoughtWorks, the consultancy behind the book “Continuous Delivery.” It emphasizes advanced delivery patterns: complex pipeline dependencies, fan-in/fan-out, value stream maps, and environment prom…
License: Apache-2.0 (OSS) · Kind: web · Deploy: native · SSO: OIDC
Harness CI
Commercial CI/CD platform emphasising AI-powered build intelligence and enterprise delivery features.
License: Proprietary (proprietary) · Kind: web · Deploy: saas · SSO: OIDC, SAML
Jenkins
Jenkins is the original open-source CI server, first released in 2011 as a fork of Hudson. It remains the most widely deployed CI/CD platform in the world, with over 300,000 active installations.
License: MIT (OSS) · Kind: web · Deploy: native · SSO: OIDC, SAML
Laminar
Laminar is a minimalist CI daemon written in C++. It deliberately eschews features found in larger CI/CD platforms: there is no pipeline DSL, no plugin system, no built-in SCM integration, and no authentication.
License: GPL-3.0-only (OSS) · Kind: web · Deploy: native · SSO: none
Semaphore
Semaphore is a SaaS CI/CD platform focused on speed and simplicity. It positions itself as one of the fastest CI/CD services available, with features like auto-scaling compute, test parallelism, and dependency caching designed t…
License: Proprietary (proprietary) · Kind: web · Deploy: saas · SSO: none
Tekton
Tekton is a Kubernetes-native CI/CD framework that defines pipelines as Kubernetes Custom Resource Definitions (CRDs).
License: Apache-2.0 (OSS) · Kind: web · Deploy: native, k8s · SSO: none
Travis CI
Travis CI was one of the first hosted CI/CD platforms and played a major role in popularizing CI for open-source projects.
License: Proprietary (proprietary) · Kind: web · Deploy: saas · SSO: none
Woodpecker CI
Community-driven fork of Drone (2022); delegates auth to the configured Git forge, so SSO is inherited from the forge.
License: Apache-2.0 (OSS) · Kind: web · Deploy: docker, native, k8s · SSO: OIDC