{"id":16541,"date":"2019-07-15T08:12:34","date_gmt":"2019-07-15T06:12:34","guid":{"rendered":"https:\/\/www.inovex.de\/blog\/?p=16541"},"modified":"2024-09-03T08:35:15","modified_gmt":"2024-09-03T06:35:15","slug":"spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x","status":"publish","type":"post","link":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/","title":{"rendered":"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD"},"content":{"rendered":"<p>With tools like Kubernetes becoming essential for most modern cloud deployments and companies adopting their take on DevOps culture, there is high demand for cloud-native CI\/CD. But how can we achieve increased velocity in deployment while also taking care of things like infrastructure as code, immutability, portability and security? Many tools try to offer solutions\u2015some have just surfaced recently, others have been around for years. In this blog post, we\u2019ll have a look at Spinnaker, Argo CD, Tekton Pipelines and Jenkins X.<!--more--><\/p>\n<p>&nbsp;<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_79_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\"><\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Introduction\" >Introduction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#The-Contestants\" >The Contestants<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Not-Covered-in-this-Blog-Post\" >Not Covered in this Blog Post<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Spinnaker-Mighty-and-Around-for-Ages\" >Spinnaker: Mighty and Around for Ages<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Deploy-Wherever-Your-Teams-Want\" >Deploy Wherever Your Teams Want<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Using-Halyard-for-Administration\" >Using Halyard for Administration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Spinnaker-is-not-a-Build-Server\" >Spinnaker is not a Build Server<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Argo-CD-a-Lightweight-Tool-with-Narrow-Purpose\" >Argo CD: a Lightweight Tool with Narrow Purpose<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#The-inner-Workings-of-Argo-CD\" >The inner Workings of Argo CD<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Limits-towards-Continuous-Integration\" >Limits towards Continuous Integration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Niche-Tool-Exciting-Ecosystem\" >Niche Tool, Exciting Ecosystem<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Tekton-Pipelines-Small-Footprint-Endless-Possibilities\" >Tekton Pipelines: Small Footprint, Endless Possibilities<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Kubernetes-CRDs-FTW\" >Kubernetes CRDs FTW<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Resources-and-Production-Readiness\" >Resources and Production Readiness<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-15\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Much-more-to-Come-The-Tekton-Roadmap-2019\" >Much more to Come: The Tekton Roadmap 2019<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-16\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Jenkins-X-The-More-the-Merrier\" >Jenkins X: The More, the Merrier?<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-17\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Dissecting-the-Components-of-Jenkins-X\" >Dissecting the Components of Jenkins X<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-18\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Putting-the-Pieces-together\" >Putting the Pieces together<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-19\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Problems-with-the-Black-Box\" >Problems with the Black Box<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-20\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#Cloud-native-CICD-A-Summary\" >Cloud-native CI\/CD: A Summary<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-21\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#What-do-you-think\" >What do you think?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Introduction\"><\/span>Introduction<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>All right, we\u2019re gonna try and compare tools. Why try? When we talk about continuous integration (CI) and continuous deployment (CD), a myriad of tools is available, and each of them has a slightly different scope. Jenkins for example has been around for years and offers great pluggability, leading to a highly customizable CI\/CD experience\u2015you can build almost anything (both in a good and a bad way). Argo CD in contrast is roughly one year old at the time of writing. It serves the very specific use case of syncing a Git repository with a Kubernetes cluster. This blog post is neither complete nor decisive on a winner because there is no \u201cone size fits all\u201c approach to cloud-native CI\/CD. We merely want to highlight tools you might have never heard of and revisit popular tools you probably use already. If this article can serve as an entry point for your research on which CI\/CD tool to try in your next project, we reached our goal.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The-Contestants\"><\/span>The Contestants<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>At inovex we are always on the lookout for tools that solve problems. Therefore, we selected the following tools to be featured in this post:<\/p>\n<ul>\n<li><a href=\"https:\/\/www.spinnaker.io\/\"><b>Spinnaker<\/b><\/a>, compared to the other tools, is quite old. It is <i>an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence<\/i> and has been around since 2014. Netflix open sourced it in 2015.<\/li>\n<li><a href=\"https:\/\/argoproj.github.io\/cd\/\"><b>Argo CD<\/b><\/a> is <i>a declarative, GitOps continuous delivery tool for Kubernetes<\/i>. Work on Argo CD started in early 2018, roughly one month after Jenkins X.<\/li>\n<li><a href=\"https:\/\/github.com\/tektoncd\/pipeline\"><b>Tekton Pipelines<\/b><\/a> is the youngest of the tools being compared. It emerged from the Knative pipeline component at the end of August 2018 and describes itself as a tool that <i>provides k8s-style resources for declaring CI\/CD-style pipelines<\/i>.<\/li>\n<li><a href=\"https:\/\/jenkins-x.io\/\"><b>Jenkins X<\/b><\/a> was introduced in January 2018 and promises an <i>open source opinionated way to do continuous delivery with Kubernetes, natively<\/i>.<\/li>\n<\/ul>\n<p>Right off the bat, we can identify Spinnaker as by far the oldest of this ensemble. The other tools did not exist before last year. All four tools share their open source licence. Jenkins X, Spinnaker and Tekton belong to the <a href=\"https:\/\/cd.foundation\/\">CD Foundation<\/a>, a relatively new member in the long list of Linux Foundation Projects.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Not-Covered-in-this-Blog-Post\"><\/span>Not Covered in this Blog Post<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Tools that we\u2019re already using in production at inovex did not make it into this comparison. That includes the Gitlab CI components including pipelines and runners as well as the classic Jenkins, among others.<\/p>\n<p>But enough with the introductory words. Let\u2019s dive in!<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Spinnaker-Mighty-and-Around-for-Ages\"><\/span>Spinnaker: Mighty and Around for Ages<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-16552\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker-260x300.jpg\" alt=\"The Spinnaker sail logo\" width=\"174\" height=\"200\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker-260x300.jpg 260w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker-889x1024.jpg 889w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker-768x885.jpg 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker-400x461.jpg 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker-360x415.jpg 360w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/spinnaker.jpg 1085w\" sizes=\"auto, (max-width: 174px) 100vw, 174px\" \/><\/a><\/p>\n<p>Let\u2019s begin with the tool that has been around the longest: Spinnaker. It was originally developed at Netflix after they noticed Spinnakers predecessor Asgard could not keep up with the requirements for modern cloud deployment on AWS. The main focus of Spinnaker is to provide a cloud-agnostic way for deploying generic concepts like servers, server groups, load balancers and machine images to different providers. By utilizing a plugin concept for so-called cloud drivers, the development of Spinnaker features is decoupled from their implementation in plugins for e. g. Google Cloud, AWS, Azure Cloud, Openshift and more.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Deploy-Wherever-Your-Teams-Want\"><\/span>Deploy Wherever Your Teams Want<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Because of this vast selection of different cloud providers inside Spinnaker, it can be used as a central tool for multiple teams. These teams can each have their preferences on which cloud provider they want to use and which steps their pipeline should consist of. Nevertheless, templates for pipelines containing company best practices can be managed and provided centrally. The configuration of all these parts for the end user happens trough Deck, Spinnakers UI component. This config can be saved in a cloud provider\u2019s storage solution of your choice. Notice that this means there is no GitOps or infrastructure as code approach implemented in Spinnaker itself, even though pipelines can be triggered based on Git webhooks.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Using-Halyard-for-Administration\"><\/span>Using Halyard for Administration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The setup and administration of Spinnaker is done via a command line tool called \u201cHalyard\u201c. The <a href=\"https:\/\/www.spinnaker.io\/reference\/halyard\/commands\/\">Halyard Command Reference<\/a> gives a first impression of the complexity one can achieve with a Spinnaker setup. In the context of Kubernetes-native CD, the cloud driver for Kubernetes comes into play. It allows for the direct monitoring and management of ReplicaSets and Pods in your destination cluster.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Spinnaker-is-not-a-Build-Server\"><\/span>Spinnaker is not a Build Server<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In a blog post about common misconceptions about Spinnaker, Kostis Kapelonis explains how Spinnaker uses third party build tools like Jenkins or Travis in order to not reinvent the wheel for CI. These plugins together with the component-based architecture of Spinnaker and its fine-grained configuration options make it extremely versatile, but also very complex to operate. Additionally, all training materials seem to heavily focus on the UI. The \u201cSpin\u201c CLI tool doesn\u2019t get promoted as much. We also mentioned the lack of Infrastructure as Code support. On the plus side, the documentation for Spinnaker is very extensive and mature. As an alternative to Spinnaker, Argo CD tries to fit right in. Let\u2019s have a look.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Argo-CD-a-Lightweight-Tool-with-Narrow-Purpose\"><\/span>Argo CD: a Lightweight Tool with Narrow Purpose<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argo-cd.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-16553\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argo-cd.png\" alt=\"The Argo CD logo\" width=\"200\" height=\"200\" \/><\/a><\/p>\n<p>Argo CD is the next tool on our list. It is governed by the folks at Intuit (which you might know from products like QuickBooks or TurboTax) and belongs to the Argo Project, along with Argo Workflows and Argo Events. As a SaaS provider, Intuit actually used Spinnaker to deploy their software before switching to their very own Argo CD solution. They explained their reasons for this decision in a <a href=\"https:\/\/www.youtube.com\/watch?v=OdzH82VpMwI\">talk at KubeCon North America 2018<\/a>. Long story short: Spinnaker was too slow and too heavyweight for them. As we\u2019ve already seen, Spinnaker can be complex with all its cloud driver plugins for several providers and their respective VM\/container products. If you only use Kubernetes, you neither need this kind of access nor should you have to care which cloud provider you\u2019re using in the first place. Therefore, Argo CD is solely developed to work on Kubernetes.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The-inner-Workings-of-Argo-CD\"><\/span>The inner Workings of Argo CD<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The basic principle of Argo CD is as simple as it gets. After you installed the tool to your cluster, you can manage your applications as follows: There are Kubernetes manifests that describe your app in a Git repository. The very same manifests are applied to your Kubernetes cluster, which satisfies the principle of infrastructure as code. Argo CD makes sure these manifests are always in sync. If a change gets merged to your master branch, the application is marked \u201cOutOfSync\u201c. Depending on your settings, Argo CD can automatically apply the changed manifests to publish the changes to your cluster. The option to manually trigger the rollout is also available, which allows for human interaction before rolling out to production. All the manifests and their sync state are presented in a clean, visually compelling UI, which Argo CD delivers out of the box. You can use both the UI and the Argo CD CLI tool to manage your applications with Argo CD.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Limits-towards-Continuous-Integration\"><\/span>Limits towards Continuous Integration<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>You may have noticed that the Argo CD approach does not involve any kind of CI, meaning there is no test or build step when syncing. This means that if you want a fully-fledged CI\/CD pipeline using Argo CD, you need to combine it with other tools like Jenkins, Travis, Circle CI or Gitlab CI. You\u2019d separate the application repository from your manifest repository. Changes to the app repo\u2019s master would trigger your CI, testing and building the new container image. As a final step of CI, an automated commit would update the image version in the manifest repo, notifying Argo CD of the change. To summarize, this process could look something like this:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-16542 size-large\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argocd-workflow.png\" alt=\"Argo cloud-native CI\/CD Workflow\" width=\"1024\" height=\"603\" srcset=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argocd-workflow.png 1024w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argocd-workflow-300x177.png 300w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argocd-workflow-768x452.png 768w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argocd-workflow-400x236.png 400w, https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/argocd-workflow-360x212.png 360w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<h3><span class=\"ez-toc-section\" id=\"Niche-Tool-Exciting-Ecosystem\"><\/span>Niche Tool, Exciting Ecosystem<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Argo CD does not satisfy DevOps professionals\u2019 needs in that it\u2019s not a complex tool to create highly customized pipelines containing lint, test, build and deploy steps. It focuses on the Git &lt;-&gt; Kubernetes sync control loop, which is an effective method for implementing infrastructure as code. The UI is great for visualizing the inner workings of a Kubernetes deployment, making it a useful option for onboarding devs that are new to Kubernetes. The Argo Project is an exciting ecosystem, with Argo Workflows being a pendant to Tekton Pipelines, which we\u2019ll talk about next.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Tekton-Pipelines-Small-Footprint-Endless-Possibilities\"><\/span>Tekton Pipelines: Small Footprint, Endless Possibilities<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/tekton-pipelines.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-16554\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/tekton-pipelines.png\" alt=\"The Tekton Pipelines cat logo\" width=\"180\" height=\"180\" \/><\/a><\/p>\n<p>Tekton Pipelines is the youngest of the tools in our comparison. Like Argo CD, it focuses only on Kubernetes. The project originated in the Knative Build component and was outsourced into a separate repository in August 2018. The current version at the time of writing is 0.4.0, which shows how young the project is.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Kubernetes-CRDs-FTW\"><\/span>Kubernetes CRDs FTW<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Installing Tekton Pipelines to your cluster introduces five new Custom Resources: Tasks, Pipelines, TaskRuns, PipelineRuns and PipelineResources. Tasks contain steps (which are essentially shell commands) and can be executed by TaskRuns. Pipelines consist of multiple Tasks and are executed by PipelineRuns. To share resources between different Tasks, PipelineResources can be used. Tekton just provides a framework for executing actions in a defined, acyclic way. Its power comes from the ability to execute whatever command in whatever container on a per-step basis. Steps inside one Task share a Pod for easy communication. With keywords like \u201crunAfter\u201c, you control precisely the order of the Tasks to run in.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Resources-and-Production-Readiness\"><\/span>Resources and Production Readiness<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Currently, Tekton has four different kinds of PipelineResources: Git, Image, Storage and Cluster. These can be used to reference a code repository, a container image to either be built or loaded, to access stored files and to manage another Kubernetes cluster. The latter allows Tekton Pipelines to not only manipulate the Kubernetes cluster it was deployed to, but any cluster it gets handed as a resource.<\/p>\n<p>A lot of the features of Tekton work great, considering it is still below a 1.0.0 version. Nonetheless, for non-trivial applications and to implement pipelines that have a more complex logic than just building one git repository and deploying the resulting image, a lot of work needs to be done by the developer. Inserting the desired container image with a command line tool into the YAML file as one task and deploying it without a commit back to the manifest repo in another task seems quite \u201chacky\u201c.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Much-more-to-Come-The-Tekton-Roadmap-2019\"><\/span>Much more to Come: The Tekton Roadmap 2019<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The Tekton maintainers plan to implement a long list of new features before the end of this year. This includes conditional execution, cancelling or pausing a workflow, resuming a paused or failed workflow and enforcing timeouts on Tasks and Pipelines. That such basic features are missing makes clear that Tekton, despite being used all over the place (for example in Jenkins X), is still a tool in alpha status.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Jenkins-X-The-More-the-Merrier\"><\/span>Jenkins X: The More, the Merrier?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><a href=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/jenkins-x.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-16555\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/jenkins-x-243x300.png\" alt=\"The Jenkins-X butler logo\" width=\"162\" height=\"200\" \/><\/a><\/p>\n<p>Finally, let\u2019s have a look at Jenkins X. CloudBees is the driving force behind this elaborate approach towards a fully-fledged cloud-native CI\/CD tool. To make it happen, the creators rely on tools that are already solving parts of the big puzzle that is cloud-native CI\/CD. From Skaffold and Draft to Helm and Prow, every tool you probably heard of at the latest KubeCon has its place in Jenkins X. Don\u2019t know what any of those do? Well, according to Jenkins X, you don\u2019t need to.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Dissecting-the-Components-of-Jenkins-X\"><\/span>Dissecting the Components of Jenkins X<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The heart of Jenkins X is the jx command line tool which abstracts away the aforementioned tools. The first approach of Jenkins X was to use a containerized Jenkins inside a Kubernetes cluster to implement \u201ccloud-native\u201c CI\/CD pipelines. This makes it relatively easy to port legacy applications that come with a classic Jenkinsfile. However, this is not as cloud-native as we might like\u2015there is still a JVM involved and we cannot utilize the resilience of distributed nodes as Jenkins runs as a single pod. To solve this, a second option is already built-in. It\u2019s called \u201cServerless\u201c and uses Tekton Pipelines in combination with Prow. We already know Tekton Pipelines and how they work, so let\u2019s have quick look at Prow.<\/p>\n<p>This tool is so Kubernetes, it doesn\u2019t even have its own repository yet. Prow is located in a subdirectory under <a href=\"https:\/\/github.com\/kubernetes\/test-infra\/tree\/master\/prow\">github.com\/kubernetes\/test-infra\/<\/a>, and, spoiler alert, that\u2019s what it does: This is Kubernetes\u2019 very own CI tool, primarily responsible for testing and managing merge requests. As Prow consists of many microservices, the name game is stepped up once more. We have:<\/p>\n<ul>\n<li>hook, which listens to incoming GitHub webhooks,<\/li>\n<li>tide, which merges approved PRs,<\/li>\n<li>sinker, which cleans up resources that are no longer needed.<\/li>\n<\/ul>\n<p>All these are running as containers in a Kubernetes cluster. The ProwJob CRD, which represents the life of a webhook trigger in the Prow ecosystem, is essential as well.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Putting-the-Pieces-together\"><\/span>Putting the Pieces together<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Now, how does it all come together? Let\u2019s look at the following diagram:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-large wp-image-16543\" src=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/jx-serverless-pretty-1024x529.png\" alt=\"Jenkins X Serverless Architecture\" width=\"1024\" height=\"529\" \/><\/p>\n<p>Prow\u2019s Hook component routes incoming webhooks from your GitHub repo to the PipelineOperator. This part is Jenkins X glue code to connect Prow and Tekton. It reads the jenkins-x.yaml file, which contains information on Pipelines, Tasks and PipelineRuns. You can think of it as an abstraction layer above Tekton Pipeline CRDs. The PipelineOperator creates the desired resources, which leads to application pods being deployed to the matching environment (staging, production or temporary PR environment). Crier reports back to GitHub and Tide merges the Pull Request as soon as all tests pass and a reviewer confirms the changes.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Problems-with-the-Black-Box\"><\/span>Problems with the Black Box<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>We didn\u2019t even talk about the integration of Helm for chart management, Skaffold and Draft for a development experience in the cloud and the use of build packs for common applications. According to the creators of Jenkins X, you do not need to worry about what\u2019s going on under the hood. For us, this seems to be only partially true. As all these tools themselves are still under rapid early development (e. g. Tekton is still alpha), bringing them together hidden under a blanket of CLI does not always work smoothly. And as soon as parts of the structure start to misbehave, you find yourself debugging tools you didn\u2019t even know existed before. In a nutshell: Jenkins X is extremely powerful, but you still need to know a lot of the underlying tools and how they work in order to get a reasonable, sane understanding of what your CI\/CD infrastructure is doing.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Cloud-native-CICD-A-Summary\"><\/span>Cloud-native CI\/CD: A Summary<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>As you can see, the cloud-native CD landscape is as versatile as the requirements can get. You have the heavyweight Spinnaker which combines multiple tools into a GUI-based approach to CD. Argo CD is lightweight, but doesn\u2019t offer much in terms of flexibility: It syncs your git repo, and that&#8217;s pretty much it. On the other end of the spectrum, there is Tekton Pipelines, which allows for a creative approach as you can basically do everything you want in your pipelines. However, this also means there is a lot you have to figure out yourself. Jenkins X tries to minimize the \u201cDIY\u201c part by providing an opinionated tool that is packed with other exciting projects that are already interesting on their own. Be aware of the complexity, though.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"What-do-you-think\"><\/span>What do you think?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Is your favourite CD tool missing? Do you agree with our impressions on the presented tools? We\u2019d love to hear what you think. Leave a comment! Or are you interested to <a href=\"https:\/\/www.inovex.de\/de\/leistungen\/devops\/\">hear more from us<\/a> in a project of yours? Let us know, we\u2019re excited to listen to your challenge.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>With tools like Kubernetes becoming essential for most modern cloud deployments and companies adopting their take on DevOps culture, there is high demand for cloud-native CI\/CD. But how can we achieve increased velocity in deployment while also taking care of things like infrastructure as code, immutability, portability and security? Many tools try to offer solutions\u2015some [&hellip;]<\/p>\n","protected":false},"author":118,"featured_media":16624,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"ep_exclude_from_search":false,"footnotes":""},"tags":[71,66],"service":[414,432],"coauthors":[{"id":118,"display_name":"Simon Kienzler","user_nicename":"skienzler"}],"class_list":["post-16541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cloud","tag-devops","service-cloud","service-devops"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD<\/title>\n<meta name=\"description\" content=\"With tools like Kubernetes becoming essential, there is high demand for cloud-native CI\/CD. Many tools try to offer solutions\u2015in this blog post, we\u2019ll have a look at four of them: Spinnaker, Argo CD, Tekton Pipelines and Jenkins X. We introduce their inner workings and how they help you to perform CI\/CD in the cloud.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD\" \/>\n<meta property=\"og:description\" content=\"With tools like Kubernetes becoming essential, there is high demand for cloud-native CI\/CD. Many tools try to offer solutions\u2015in this blog post, we\u2019ll have a look at four of them: Spinnaker, Argo CD, Tekton Pipelines and Jenkins X. We introduce their inner workings and how they help you to perform CI\/CD in the cloud.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\" \/>\n<meta property=\"og:site_name\" content=\"inovex GmbH\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/inovexde\" \/>\n<meta property=\"article:published_time\" content=\"2019-07-15T06:12:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-03T06:35:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Simon Kienzler\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd-1024x576.png\" \/>\n<meta name=\"twitter:creator\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:site\" content=\"@inovexgmbh\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Simon Kienzler\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"16\u00a0Minuten\" \/>\n\t<meta name=\"twitter:label3\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data3\" content=\"Simon Kienzler\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\"},\"author\":{\"name\":\"Simon Kienzler\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/065546c8c894fdb18e9ad80b0d3af394\"},\"headline\":\"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD\",\"datePublished\":\"2019-07-15T06:12:34+00:00\",\"dateModified\":\"2024-09-03T06:35:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\"},\"wordCount\":2694,\"commentCount\":6,\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png\",\"keywords\":[\"Cloud\",\"DevOps\"],\"articleSection\":[\"English Content\",\"General\",\"Infrastructure\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\",\"url\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\",\"name\":\"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD\",\"isPartOf\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png\",\"datePublished\":\"2019-07-15T06:12:34+00:00\",\"dateModified\":\"2024-09-03T06:35:15+00:00\",\"description\":\"With tools like Kubernetes becoming essential, there is high demand for cloud-native CI\/CD. Many tools try to offer solutions\u2015in this blog post, we\u2019ll have a look at four of them: Spinnaker, Argo CD, Tekton Pipelines and Jenkins X. We introduce their inner workings and how they help you to perform CI\/CD in the cloud.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png\",\"width\":1920,\"height\":1080,\"caption\":\"Pipes leading through the clouds\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.inovex.de\/de\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.inovex.de\/de\/#website\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"name\":\"inovex GmbH\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.inovex.de\/de\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.inovex.de\/de\/#organization\",\"name\":\"inovex GmbH\",\"url\":\"https:\/\/www.inovex.de\/de\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"contentUrl\":\"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png\",\"width\":1921,\"height\":1081,\"caption\":\"inovex GmbH\"},\"image\":{\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/inovexde\",\"https:\/\/x.com\/inovexgmbh\",\"https:\/\/www.instagram.com\/inovexlife\/\",\"https:\/\/www.linkedin.com\/company\/inovex\",\"https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/065546c8c894fdb18e9ad80b0d3af394\",\"name\":\"Simon Kienzler\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/5f1ce32b0cb71509881a9501898253cb\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/91075878de849b53ca41c8a6b6c93dcdd9842e1de26d2d259e7963faf7a1c2f4?s=96&d=retro&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/91075878de849b53ca41c8a6b6c93dcdd9842e1de26d2d259e7963faf7a1c2f4?s=96&d=retro&r=g\",\"caption\":\"Simon Kienzler\"},\"url\":\"https:\/\/www.inovex.de\/de\/blog\/author\/skienzler\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD","description":"With tools like Kubernetes becoming essential, there is high demand for cloud-native CI\/CD. Many tools try to offer solutions\u2015in this blog post, we\u2019ll have a look at four of them: Spinnaker, Argo CD, Tekton Pipelines and Jenkins X. We introduce their inner workings and how they help you to perform CI\/CD in the cloud.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/","og_locale":"de_DE","og_type":"article","og_title":"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD","og_description":"With tools like Kubernetes becoming essential, there is high demand for cloud-native CI\/CD. Many tools try to offer solutions\u2015in this blog post, we\u2019ll have a look at four of them: Spinnaker, Argo CD, Tekton Pipelines and Jenkins X. We introduce their inner workings and how they help you to perform CI\/CD in the cloud.","og_url":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/","og_site_name":"inovex GmbH","article_publisher":"https:\/\/www.facebook.com\/inovexde","article_published_time":"2019-07-15T06:12:34+00:00","article_modified_time":"2024-09-03T06:35:15+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png","type":"image\/png"}],"author":"Simon Kienzler","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd-1024x576.png","twitter_creator":"@inovexgmbh","twitter_site":"@inovexgmbh","twitter_misc":{"Verfasst von":"Simon Kienzler","Gesch\u00e4tzte Lesezeit":"16\u00a0Minuten","Written by":"Simon Kienzler"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#article","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/"},"author":{"name":"Simon Kienzler","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/065546c8c894fdb18e9ad80b0d3af394"},"headline":"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD","datePublished":"2019-07-15T06:12:34+00:00","dateModified":"2024-09-03T06:35:15+00:00","mainEntityOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/"},"wordCount":2694,"commentCount":6,"publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png","keywords":["Cloud","DevOps"],"articleSection":["English Content","General","Infrastructure"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/","url":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/","name":"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD","isPartOf":{"@id":"https:\/\/www.inovex.de\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage"},"image":{"@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage"},"thumbnailUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png","datePublished":"2019-07-15T06:12:34+00:00","dateModified":"2024-09-03T06:35:15+00:00","description":"With tools like Kubernetes becoming essential, there is high demand for cloud-native CI\/CD. Many tools try to offer solutions\u2015in this blog post, we\u2019ll have a look at four of them: Spinnaker, Argo CD, Tekton Pipelines and Jenkins X. We introduce their inner workings and how they help you to perform CI\/CD in the cloud.","breadcrumb":{"@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#primaryimage","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2019\/07\/Cloud-Native-ci-cd.png","width":1920,"height":1080,"caption":"Pipes leading through the clouds"},{"@type":"BreadcrumbList","@id":"https:\/\/www.inovex.de\/de\/blog\/spinnaker-vs-argo-cd-vs-tekton-vs-jenkins-x\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.inovex.de\/de\/"},{"@type":"ListItem","position":2,"name":"Spinnaker vs. Argo CD vs. Tekton vs. Jenkins X: Cloud-Native CI\/CD"}]},{"@type":"WebSite","@id":"https:\/\/www.inovex.de\/de\/#website","url":"https:\/\/www.inovex.de\/de\/","name":"inovex GmbH","description":"","publisher":{"@id":"https:\/\/www.inovex.de\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.inovex.de\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.inovex.de\/de\/#organization","name":"inovex GmbH","url":"https:\/\/www.inovex.de\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","contentUrl":"https:\/\/www.inovex.de\/wp-content\/uploads\/2021\/03\/inovex-logo-16-9-1.png","width":1921,"height":1081,"caption":"inovex GmbH"},"image":{"@id":"https:\/\/www.inovex.de\/de\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/inovexde","https:\/\/x.com\/inovexgmbh","https:\/\/www.instagram.com\/inovexlife\/","https:\/\/www.linkedin.com\/company\/inovex","https:\/\/www.youtube.com\/channel\/UC7r66GT14hROB_RQsQBAQUQ"]},{"@type":"Person","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/065546c8c894fdb18e9ad80b0d3af394","name":"Simon Kienzler","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.inovex.de\/de\/#\/schema\/person\/image\/5f1ce32b0cb71509881a9501898253cb","url":"https:\/\/secure.gravatar.com\/avatar\/91075878de849b53ca41c8a6b6c93dcdd9842e1de26d2d259e7963faf7a1c2f4?s=96&d=retro&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/91075878de849b53ca41c8a6b6c93dcdd9842e1de26d2d259e7963faf7a1c2f4?s=96&d=retro&r=g","caption":"Simon Kienzler"},"url":"https:\/\/www.inovex.de\/de\/blog\/author\/skienzler\/"}]}},"_links":{"self":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/16541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/users\/118"}],"replies":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/comments?post=16541"}],"version-history":[{"count":3,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/16541\/revisions"}],"predecessor-version":[{"id":57753,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/posts\/16541\/revisions\/57753"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media\/16624"}],"wp:attachment":[{"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/media?parent=16541"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/tags?post=16541"},{"taxonomy":"service","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/service?post=16541"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.inovex.de\/de\/wp-json\/wp\/v2\/coauthors?post=16541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}