{"id":13678337,"url":"https://github.com/cloudogu/jenkinsfiles","last_synced_at":"2025-04-05T09:10:21.569Z","repository":{"id":53768896,"uuid":"97458136","full_name":"cloudogu/jenkinsfiles","owner":"cloudogu","description":"Examples for jenkins pipelines, comparing scripted and declarative syntax","archived":false,"fork":false,"pushed_at":"2023-10-31T08:24:10.000Z","size":146,"stargazers_count":298,"open_issues_count":0,"forks_count":229,"subscribers_count":22,"default_branch":"master","last_synced_at":"2025-03-29T08:11:14.781Z","etag":null,"topics":["continuous-delivery","docker","gitops","helm","jenkins","jenkins-pipeline","jenkinsfile","kubernetes","sonarqube"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudogu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2017-07-17T09:19:42.000Z","updated_at":"2025-03-20T15:02:43.000Z","dependencies_parsed_at":"2024-01-14T15:21:42.414Z","dependency_job_id":"d456ce97-7baf-442f-8e54-ef8f2b96a2f7","html_url":"https://github.com/cloudogu/jenkinsfiles","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudogu%2Fjenkinsfiles","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudogu%2Fjenkinsfiles/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudogu%2Fjenkinsfiles/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudogu%2Fjenkinsfiles/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudogu","download_url":"https://codeload.github.com/cloudogu/jenkinsfiles/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247312085,"owners_count":20918344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["continuous-delivery","docker","gitops","helm","jenkins","jenkins-pipeline","jenkinsfile","kubernetes","sonarqube"],"created_at":"2024-08-02T13:00:52.479Z","updated_at":"2025-04-05T09:10:21.512Z","avatar_url":"https://github.com/cloudogu.png","language":null,"funding_links":[],"categories":["Others","kubernetes"],"sub_categories":[],"readme":"cloudogu/jenkinsfiles \n========================\nThis project contains examples for the [Jenkins pipeline plugin](https://jenkins.io/solutions/pipeline/), comparing both declarative and scripted syntax.\n\nThe examples were developed while working on an article series called *Coding Continuous Delivery* published in [Java aktuell](http://www.ijug.eu/java-aktuell/das-magazin.html). Both English translation and German original can be found on the [Cloudogu Blog](https://cloudogu.com/en/blog/?mtm_campaign=jenkinsfiles\u0026mtm_kwd=blog\u0026mtm_source=github\u0026mtm_medium=link).\n\n\u003ctable  border=\"0\"\u003e\n  \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e01/2018 (covering examples on branches 1 to 5)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"2\"\u003e\u003cimg src=\"https://cloudogu.com/assets/blog/2018/Coding_CD_1_150x150-2a7fca8725de60e3f31c1acb0b0153ad072e6074d81a9b619366e30d5a3fbecdae66477c70f7e5e84a508a7a84ab5bbe099c9b1738e83c64dd451a4d426d5b58.png\" width=50% /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://cloudogu.com/en/blog/continuous_delivery_1_basics\"\u003e 🇬🇧 Jenkins pipeline plugin basics\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\u003ca href=\"https://cloudogu.com/de/blog/continuous_delivery_1_grundlagen\"\u003e 🇩🇪 Grundlagen des Jenkins-Pipeline-Plug-ins\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n \n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e02/2018 (covering examples on branches 6 and 7)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"2\"\u003e\u003cimg src=\"https://cloudogu.com/assets/blog/2018/Coding_CD_2_150x150-11fcdc1415bbac41121ad7857ca94c30dc5b4e9b9e667748f79eae59d6222316b73867aafb98b42267b105d8098f281a87de497fede64d02816592c62f66da0b.png\" width=50% /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://cloudogu.com/en/blog/continuous_delivery_2\"\u003e 🇬🇧 Performance optimization for the Jenkins Pipeline\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\u003ca href=\"https://cloudogu.com/de/blog/continuous_delivery_2_de\"\u003e 🇩🇪 Performance Optimierung für die Jenkins Pipeline\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e03/2018 (covering examples on branches 8 and 9)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"2\"\u003e\u003cimg src=\"https://cloudogu.com/assets/blog/2018/Coding_CD_3_150x150-9f511846c0788fa4fe18e6daf82ae74feb6e2e62cc6cbdc2d7a8cfba563170b416ebcee6bc0cc2d65bbe9344acb1a1b4799c23fb3ba1e7c87b0de02270f20527.png\" width=50% /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://cloudogu.com/en/blog/continuous_delivery_part_3\"\u003e 🇬🇧 Helpful Tools for the Jenkins Pipeline\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\u003ca href=\"https://cloudogu.com/de/blog/continuous_delivery_teil_3\"\u003e 🇩🇪 Hilfreiche Werkzeuge für die Jenkins Pipeline\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e04/2018 (covering examples on branches 10 and 11)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"2\"\u003e\u003cimg src=\"https://cloudogu.com/assets/blog/2018/Coding_CD_4_150x150-a567bbe19ae59e957f86a7e07d0d88924be209dd5e899cef97f523565ae10b6a204310fb842e68e6bfc7e961b10b6da5022490e2488b5ae85679cae0be6b33c6.png\" width=50% /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://cloudogu.com/en/blog/continuous_delivery_4_en\"\u003e 🇬🇧 Statical Code Analysis with SonarQube and deployment to Kubernetes et al. with Jenkins Pipelines\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\u003ca href=\"https://cloudogu.com/de/blog/continuous_delivery_4_de\"\u003e 🇩🇪 Statische Code Analyse mit SonarQube und Deployment auf Kubernetes et al. mit Jenkins Pipelines\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\n   \u003ctr\u003e\n    \u003ctd colspan=\"2\"\u003e02/2021 (covering example on branch 12, also explains how to do GitOps with Jenkins. See also \u003ca href=\"https://github.com/cloudogu/gitops-build-lib\"\u003eGitOps Build Lib\u003c/a\u003e and \u003ca href=\"https://github.com/cloudogu/k8s-gitops-playground\"\u003eGitOps Playground\u003c/a\u003e.)\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd rowspan=\"2\"\u003e\u003cimg src=\"https://cloudogu.com/assets/blog/2021/Coding_CD_5_150x150-80be4476c0dfdb5df094def33372802979288818fc82f74ea27985f34d0a5508137b230e8c7d0a7bca7c2eddfa6ca8f80e4bee4650dc02d1d162a199cf3ad526.png\" width=50% /\u003e\u003c/td\u003e\n    \u003ctd\u003e\u003ca href=\"https://cloudogu.com/en/blog/ciops-vs-gitops_en\"\u003e 🇬🇧 CIOps vs. GitOps with Jenkins\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n   \u003ctd\u003e\u003ca href=\"https://cloudogu.com/de/blog/ciops-vs-gitops_de\"\u003e 🇩🇪 CIOps vs. GitOps mit Jenkins\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \n\u003c/table\u003e\n\nThe project being built by the pipeline examples is [wildfly/quickstart/kitchensink](https://github.com/wildfly/quickstart/tree/cfd2e05d16e4ae788bc12486f5b30d668b921973/kitchensink), a typical JEE web app basing on CDI, JSF, JPA, EJB, JAX-RS and integration tests with arquillian.\nIt was extended slightly to allow for running integration tests using WildFly Swarm and (in branch `11-x`) to provide its version name via REST. \n\nThe pipeline examples are built on top of each other, each in declarative and scripted syntax, respectively. Each example is put on a separate [branches](https://github.com/cloudogu/jenkinsfiles/branches) for convenient access.\n\nPlease see [our Jenkins Instance](https://oss.cloudogu.com/jenkins/blue/organizations/jenkins/cloudogu-github%2Fjenkinsfiles/branches) for build results.\n\nThe following aspects are covered by the examples:\n\n1. A simple pipeline ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/1-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/1-scripted/Jenkinsfile)) \n2. Improving maintainability by introducing custom steps ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/2-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/2-scripted/Jenkinsfile))\n3. Division into smaller stages ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/3-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/3-scripted/Jenkinsfile))\n4. End of pipeline\n   a Handling failures ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/4a-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/4a-scripted/Jenkinsfile))  \n   b Simplified Mailing ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/4b-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/4b-scripted/Jenkinsfile))\n5. Archive and Properties/Options ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/5-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/5-scripted/Jenkinsfile))\n6. Parallel ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/6-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/6-scripted/Jenkinsfile))\n7. Time Triggered Builds (e.g. nightly) ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/7-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/7-scripted/Jenkinsfile))\n8. Shared libraries ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/8-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/8-scripted/Jenkinsfile) | [shared library](https://github.com/cloudogu/jenkinsfiles/tree/8-shared-library))\n9. Docker  \n   a Run whole pipeline inside a Docker container ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/9a-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/9a-scripted/Jenkinsfile))    \n   b Using Docker inside a custom step (implemented in shared library) ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/9b-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/9b-scripted/Jenkinsfile) | [shared library](https://github.com/cloudogu/jenkinsfiles/tree/9b-shared-library))\n10. Statical code analysis with SonarQube  \n   a check quality gate outside of node (as shown within the docs)  ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/10a-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/10a-scripted/Jenkinsfile))  \n   b analysis and quality gate within one stage (pragmatic, easier to maintain) ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/10b-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/10b-scripted/Jenkinsfile))\n11. Plain Deployment to Kubernetes ([declarative](https://github.com/cloudogu/jenkinsfiles/blob/11-declarative/Jenkinsfile) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/11-scripted/Jenkinsfile))\n12. Deployment to Kubernetes using Helm (declarative (TODO) | [scripted](https://github.com/cloudogu/jenkinsfiles/blob/12-scripted/Jenkinsfile))\n\n\n# Jenkins Setup\n\nAll examples (obviously) need the [Jenkins Pipeline plugin](https://plugins.jenkins.io/workflow-aggregator) installed.\nIt has been part of the Jenkins default plugins for quite some time.\n\n## 8. Shared libraries\n\nStarting with branch 8, the [Pipeline: GitHub Groovy Libraries plugin](https://plugins.jenkins.io/pipeline-github-lib) is needed so the libraries are loaded out of the box.\nIt is also one of the Jenkins default plugins.\n\n## 9. Docker\n\nBranch 9 and up require the [Docker Pipeline plugin](https://plugins.jenkins.io/docker-workflow) (installed by default) and only run on workers that have a working docker client (`docker` binary on the `PATH`). \nIn order to distinguish this workers from others, they provide a `docker` label.\n\n## 10. SonarQube\n\nFrom branch 10 the [SonarQube Scanner plugin](https://plugins.jenkins.io/sonar) and a SonarQube instance `sonarcloud.io` set up in Jenkins.\nIn addition, in SonarQube, a webhook to `https://JENKINS/sonarqube-webhook` must be configured.\n\nBefore Jenkins is able to analyse the branches a first analysis has to be done (e.g. from your developer machine) analysis,\ne.g. like so\n\n```bash\nmvn clean install -Pjenkins -DskipITs\nmvn sonar:sonar -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=\u003cSECURITY TOKEN\u003e -Dsonar.organization=\u003cYOUR-ORG-KEY\u003e\n```\nIf you want the quality gate to fail (for showcases), one option is to analyse one of the 10a branches but remove the \nclass `Untested` before.\n\n## 11. Kubernetes\n\nIn order to deploy to Kubernetes the examples in the `11-x`-branches require the [Kubernetes Continuous Deploy plugin](https://plugins.jenkins.io/kubernetes-cd).\nThe following must be executed (from one of the `11-x`-branches) before the build can succeed.\n\n```bash\nkubectl apply -f k8s/namespace.yaml\nkubectl apply --namespace jenkins-ns -f k8s/service.yaml,k8s/serviceaccount.yaml\nk8s/create-kubeconfig jenkins-sa --namespace=jenkins-ns \u003e jenkins.kubeconfig\n```\nThen, add the `jenkins.kubeconfig` as Jenkins file credential, called `kubeconfig-oss-deployer`.  \nFinally, add a Username and Password credential called `hub.docker.com-cesmarvin` \n(e.g. on [GCR](https://cloud.google.com/container-registry/docs/advanced-authentication#using_a_json_key_file), the user is `_json_key` and the password is the a JSON in single quotes with line breaks removed - `cat account.json`).\nand change the image name to match your registry.\n\n# Jenkins Build status\n\n| Branch        | Declarative | Scripted | Library/SQ |\n| ------------- |:-----------:| --------:| ----------:|\n| 1. Simple pipeline                      | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/1-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/1-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/1-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/1-scripted/) |  | \n| 2. Custom steps                         | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/2-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/2-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/2-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/2-scripted/) |  |\n| 3. Smaller Stages                       | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/3-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/3-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/3-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/3-scripted/) |  |\n| 4a Handling failures                    | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/4a-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/4a-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/4a-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/4a-scripted/) |  |\n| 4b Simplified Mailing                   | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/4b-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/4b-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/4b-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/4b-scripted/) |  |\n| 5. Archive and Properties/Options       | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/5-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/5-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/5-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/5-scripted/) |  |\n| 6. Parallel                             | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/6-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/6-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/6-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/6-scripted/) |  |\n| 7. Time Triggered Builds                | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/7-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/7-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/7-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/7-scripted/) |  |\n| 8. Shared libraries                     | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/8-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/8-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/8-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/8-scripted/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/8-shared-library)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/8-shared-library/) |\n| 9a Docker (whole pipeline in container) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/9a-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/9a-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/9a-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/9a-scripted/) |  |\n| 9b Docker (inside custom step)          | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/9b-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/9b-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/9b-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/9b-scripted/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/9b-shared-library)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/9b-shared-library) |\n| 10a SonarQube (as shown in docs)        | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/10a-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/10a-declarative/) \u003cbr/\u003e See SQ! | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/10a-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/10a-scripted/) \u003cbr/\u003e See SQ!| [![SonarQube Badge](https://sonarcloud.io/api/project_badges/measure?project=com.cloudogu.jenkinsfiles%3Awildfly-kitchensink\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=com.cloudogu.jenkinsfiles%3Awildfly-kitchensink) | |\n| 10b SonarQube (pragmatic)               | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/10b-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/10b-declarative/) \u003cbr/\u003e See SQ!| [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/10b-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/10b-scripted/) \u003cbr/\u003e See SQ!| [![SonarQube Badge](https://sonarcloud.io/api/project_badges/measure?project=com.cloudogu.jenkinsfiles%3Awildfly-kitchensink\u0026metric=alert_status)](https://sonarcloud.io/dashboard?id=com.cloudogu.jenkinsfiles%3Awildfly-kitchensink) | |\n| 11. Kubernetes (plain)                  | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/11-declarative)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/11-declarative/) | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/11-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/11-scripted/) |  |\n| 12. Kubernetes (Helm)                   | - | [![Build Status](https://oss.cloudogu.com/jenkins/buildStatus/icon?job=cloudogu-github/jenkinsfiles/12-scripted)](https://oss.cloudogu.com/jenkins/job/cloudogu-github/job/jenkinsfiles/job/12-scripted/) |  |\n\n# Further resources\n\n## `Jenkinsfile`s\n\n* [triologygmbh/test-data-loader](https://github.com/triologygmbh/test-data-loader) - Deploys to maven central\n* [cloudogu/continuous-delivery-docs-example](https://github.com/cloudogu/continuous-delivery-docs-example) - Docs as code to ODT \u0026 PDF\n* [cloudogu/continuous-delivery-slides-example](https://github.com/cloudogu/continuous-delivery-slides-example) - Deploy presentations to Kubernetes and Maven Sites (Nexus) \n \n## Shared libraries\n\nA collection of shared libraries to be used as reference.\n\n* [cloudogu/ces-build-lib](https://github.com/cloudogu/ces-build-lib) - Contains features for Maven, Docker, SonarQube and others\n* [mozilla/fxtest-jenkins-pipeline](https://github.com/mozilla/fxtest-jenkins-pipeline) - used by Firefox Test Engineering\n* [docker/jenkins-pipeline-scripts](https://github.com/docker/jenkins-pipeline-scripts) -  helper functions and classes used by Jenkins instances managed by Docker, Inc.\n* [fabric8io/fabric8-pipeline-library](https://github.com/fabric8io/fabric8-pipeline-library) -  reusable Jenkins Pipeline steps and functions to be used with the fabric8 platform.\n* [Mirantis/pipeline-library](https://github.com/Mirantis/pipeline-library) - Contains Salt commands, Git actions, Artifactory management, Docker image building, AWS and OpenStack provisioning, etc.\n* [Shared Library Demo](https://github.com/jenkinsci/workflow-aggregator-plugin/tree/master/demo) - Demonstrates a continuous delivery pipeline of Java web application including library\n \n## Others\n\n* [jenkinsci/JenkinsPipelineUnit](https://github.com/jenkinsci/JenkinsPipelineUnit) - Unit test for Jenkins pipelines\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudogu%2Fjenkinsfiles","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudogu%2Fjenkinsfiles","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudogu%2Fjenkinsfiles/lists"}