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.

ToolOIDCSAMLAuthentik Notes
JenkinsYes (plugin)Yes (plugin)OIDC via OpenID Connect plugin; Authentik as IdP; role mapping via claims
Woodpecker CIYesNoNative OIDC support; Authentik as IdP; delegates auth to Git forge
DroneYesNoNative OAuth; delegates auth to Git forge (Gitea, GitLab, GitHub)
Concourse CIYesNoNative OIDC via cf auth connector; Authentik as IdP; team-based access
TektonNo*NoNo built-in UI auth; use Tekton Dashboard behind Authentik reverse proxy
Forgejo ActionsYesNoInherits Forgejo OIDC; Authentik as IdP; same session as forge
Gitea ActionsYesNoInherits Gitea OIDC; Authentik as IdP; same session as forge
GoCDYes (plugin)NoOIDC via plugin; Authentik as IdP; role mapping
LaminarNoNoNo auth; use reverse proxy + Authentik for access control
GitLab CI/CDYesYes*Inherits GitLab OIDC; SAML with EE; Authentik as IdP
GitHub ActionsYes*YesEnterprise SAML SSO; OIDC for workload identity; Authentik as SAML IdP
BuildkiteYesYesNative SAML/OIDC; Authentik as IdP; team sync
CircleCIYesYesSAML SSO (Scale plan); Authentik as IdP
Travis CINoNoGitHub OAuth only; no custom IdP
Azure PipelinesYes*YesEntra ID (Azure AD) SSO; Authentik federation possible
AWS CodePipelineYes*YesAWS IAM Identity Center; Authentik federation via SAML
Harness CIYesYesNative SAML/OIDC; Authentik as IdP; SCIM provisioning
SemaphoreNoNoGitHub/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

ToolLicenseLanguageSelf-HostedSaaSDockerK8s Native
JenkinsMITJavaYesNoYesHelm chart
Woodpecker CIApache-2.0GoYesNoYesHelm chart
DroneApache-2.0GoYesNoYesHelm chart
Concourse CIApache-2.0GoYesNoYesHelm chart
TektonApache-2.0GoYesNoN/ANative (CRDs)
Forgejo ActionsMITGoYesNoYes*Yes*
Gitea ActionsMITGoYesNoYes*Yes*
GoCDApache-2.0Java/RubyYesNoYesHelm chart
LaminarGPL-3.0C++YesNoNoNo
GitLab CI/CDMIT (CE) / Prop.Ruby, GoYesYesYesHelm chart
GitHub ActionsProprietaryN/ANo**YesN/AN/A
BuildkiteProprietaryGo (agent)Hybrid***YesYesHelm chart
CircleCIProprietaryN/ANo****YesN/AN/A
Travis CIProprietaryN/ANoYesN/AN/A
Azure PipelinesProprietary.NETYes*****YesYesHelm chart
AWS CodePipelineProprietaryN/ANoYesN/AN/A
Harness CIProprietaryGo, JavaYesYesYesHelm chart
SemaphoreProprietaryN/ANoYesN/AN/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

ToolConfig FormatPipelines-as-CodeMatrix BuildsParallelismCachingArtifacts
JenkinsJenkinsfile (Groovy)YesYesYesPluginPlugin
Woodpecker CIYAMLYesYesYesYesPlugin
DroneYAMLYesYesYesPluginPlugin
Concourse CIYAMLYes (set pipeline)No nativeYesNo nativeYes
TektonK8s YAML (CRDs)YesYesYesWorkspace PVCsWorkspace PVCs
Forgejo ActionsYAML (GH Actions)YesYesYesYesYes
Gitea ActionsYAML (GH Actions)YesYesYesYesYes
GoCDGUI / YAML pluginOptionalNoYesNo nativeYes
LaminarShell scriptsYesNoQueue-basedNoFilesystem
GitLab CI/CDYAMLYesYesYesYesYes
GitHub ActionsYAMLYesYesYesYesYes
BuildkiteYAMLYesYes (matrix)YesYes (agent)Yes
CircleCIYAMLYesYesYesYesYes
Travis CIYAMLYesYesYesYesLimited
Azure PipelinesYAML / GUIYesYesYesYesYes
AWS CodePipelineJSON / YAMLYesNo nativeYesYes (CodeBuild)S3
Harness CIYAML / GUIYesYesYesYes (Intelligence)Yes
SemaphoreYAMLYesYesYesYesYes

Container & Kubernetes Support

ToolContainer BuildsContainer RunnersK8s ExecutorHelm Deploy
JenkinsDocker, Kaniko, BuildahDocker agentK8s plugin (pod agents)Plugin
Woodpecker CIDocker, pluginsDocker (native)K8s backendVia step
DroneDocker, pluginsDocker (native)K8s runnerVia step
Concourse CIOCI task imagesContainer (native)K8s workerVia task
TektonKaniko, Buildah (in-cluster)K8s pods (native)NativeVia task
Forgejo ActionsDocker, KanikoDocker (act_runner)K8s modeVia step
Gitea ActionsDocker, KanikoDocker (act_runner)K8s modeVia step
GoCDDocker, pluginsDocker agentK8s elastic agentPlugin
LaminarManual (shell)NoNoNo
GitLab CI/CDDocker, Kaniko, BuildahDocker, K8s executorK8s executorVia job
GitHub ActionsDocker, BuildxDocker (hosted/self)Self-hosted on K8sVia action
BuildkiteDocker, pluginsDocker (agent)K8s agentVia step
CircleCIDocker, remote DockerDocker, machineSelf-hosted runnerVia step
Travis CIDockerDocker, VMNoNo
Azure PipelinesDocker, BuildxDocker, VMK8s environmentsVia task
AWS CodePipelineDocker (CodeBuild)CodeBuild containersECS/EKS deployVia action
Harness CIDocker, Kaniko, BuildahDocker, VM, K8sK8s delegateBuilt-in
SemaphoreDockerDocker, VMNoVia step

SCM Integration

ToolGitea/ForgejoGitLabGitHubBitbucketAzure Repos
JenkinsPluginPluginPluginPluginPlugin
Woodpecker CIYes (native)YesYesYesNo
DroneYes (native)YesYesYesYes
Concourse CIGit resourceGit resourceGit resourceGit resourceGit resource
TektonGit resolverGit resolverGit resolverGit resolverGit resolver
Forgejo ActionsForgejo onlyNoNoNoNo
Gitea ActionsGitea onlyNoNoNoNo
GoCDGit materialGit materialGit materialGit materialGit material
LaminarWebhook/scriptWebhook/scriptWebhook/scriptWebhook/scriptWebhook/script
GitLab CI/CDNoGitLab onlyMirrorNoNo
GitHub ActionsNoNoGitHub onlyNoNo
BuildkiteWebhookWebhookYes (native)WebhookWebhook
CircleCINoYesYesYesNo
Travis CINoNoYesNoNo
Azure PipelinesNoNoYesYesYes (native)
AWS CodePipelineNoNoYesNoNo (CodeCommit deprecated)
Harness CINoYesYesYesYes
SemaphoreNoNoYesYesNo

API Comparison

ToolAPI TypeAuthWebhooks
JenkinsRESTToken, Basic, OIDCYes
Woodpecker CIRESTToken, OAuthYes (forge events)
DroneRESTToken, OAuthYes (forge events)
Concourse CIRESTToken (fly CLI)No (polling)
TektonK8s API (CRDs)K8s RBACTekton Triggers
Forgejo ActionsREST (Forgejo API)Token, OAuthYes
Gitea ActionsREST (Gitea API)Token, OAuthYes
GoCDRESTToken, OAuthYes (plugins)
LaminarMinimal RESTNoneNo
GitLab CI/CDREST + GraphQLPAT, OAuth2, JWTYes
GitHub ActionsREST + GraphQLPAT, OAuth, App JWTYes
BuildkiteREST + GraphQLToken, OAuthYes
CircleCIREST v2TokenYes
Travis CIREST v3TokenYes
Azure PipelinesRESTPAT, OAuth2Yes (service hooks)
AWS CodePipelineREST (AWS SDK)IAM credentialsEventBridge
Harness CIREST + GraphQLAPI key, OAuthYes
SemaphoreREST v2TokenYes

Monitoring Integration

ToolPrometheus MetricsStructured LogsGrafana Dashboards
JenkinsYes (Prometheus plugin)Logback (JSON plugin)Community dashboards
Woodpecker CIYes (/metrics)JSON stdoutCommunity dashboards
DroneYes (/metrics)JSON stdoutCommunity dashboards
Concourse CIYes (/metrics)JSON stdoutCommunity dashboards
TektonYes (controller metrics)Structured (K8s)Community dashboards
Forgejo ActionsYes (Forgejo /metrics)JSON stdoutCommunity dashboards
Gitea ActionsYes (Gitea /metrics)JSON stdoutCommunity dashboards
GoCDNo (JMX via Jolokia)Log filesJVM dashboards
LaminarNostderrNone
GitLab CI/CDYes (per-service)JSON log filesOfficial dashboards
GitHub ActionsNo (SaaS)N/AAvailability only
BuildkiteAgent metrics (StatsD)Agent logsCommunity dashboards
CircleCINo (SaaS)N/AAvailability only
Travis CINo (SaaS)N/AAvailability only
Azure PipelinesNo (SaaS)N/AAvailability only
AWS CodePipelineCloudWatch metricsCloudWatch LogsCloudWatch dashboards
HarnessYes (self-hosted)JSON logsBuilt-in dashboards
SemaphoreNo (SaaS)N/AAvailability 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

Website

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

Website

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

Website

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

Website

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

Website · Source

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

Website · Source

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

Website · Source

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

Website · Source

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

Website

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

Website · Source

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

Website · Source

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

Website

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

Website · Source

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

Website · Source

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

Website

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

Website · Source

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

Website

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

Website · Source

ResorsIT Tools Catalog Search