# Jenkins
* [Wikipedia.org: Jenkins Software](https://en.wikipedia.org/wiki/Jenkins_(software))
* [Jenkins.io (new Jenkins 2.0 site) 🌟🌟🌟🌟](https://jenkins.io/)
* [jenkins.io - doc/book/pipeline 🌟🌟🌟](https://jenkins.io/doc/book/pipeline/)
    * [jenkins.io - jenkinsfile 🌟🌟🌟](https://jenkins.io/doc/book/pipeline/jenkinsfile/)
* [jenkins.io: Jenkins CD and Pipelines Microsite](https://jenkins.io/solutions/pipeline/)
* [dzone.com: Jenkins Pipeline - Software Delivery Made Easy](https://dzone.com/articles/jenkins-pipeline-software-delivery-made-easy) Jenkins 2.0 has focused on solving the problem for organizations wanting to continuously deliver software.
* [dzone.com: Jenkins Configuration as Code: Need for Speed! 🌟🌟🌟🌟](https://dzone.com/articles/jenkins-configuration-as-code-need-for-speed)
      * [https://github.com/jenkinsci/configuration-as-code-plugin](https://github.com/jenkinsci/configuration-as-code-plugin)
* [Dzone: Running Jenkins Server With Configuration-as-Code 🌟🌟🌟](https://dzone.com/articles/running-jenkins-server-with-configuration-as-code) Take a look at the new plugin for Jenkins that allows you to to create pipelines using YAML! Let's check out the details and examples.
* [jenkins.io - Tuning Jenkins GC For Responsiveness and Stability with Large Instances 🌟🌟🌟](https://jenkins.io/blog/2016/11/21/gc-tuning/)
* [dzone.com: How to Set Up Scalable Jenkins on Top of a Kubernetes Cluster 🌟🌟🌟](https://dzone.com/articles/how-to-setup-scalable-jenkins-on-top-of-a-kubernet)
* [devops.com: Kubernetes Jenkins Master-Slave: Scaling the Scalability Issue](https://devops.com/kubernetes-jenkins-master-slave-scaling-the-scalability-issue/)
* [udemy.com: Master Jenkins CI For DevOps and Developers](https://www.udemy.com/the-complete-jenkins-course-for-developers-and-devops/)
* [udemy.com: Learn DevOps: CI/CD with Jenkins using Pipelines and Docker](https://www.udemy.com/learn-devops-ci-cd-with-jenkins-using-pipelines-and-docker/) Use Jenkins the DevOps way. Automate your Jenkins jobs by using Jenkins Pipelines, Docker, and the Jenkins Job DSL
* [Jenkins Docker Image for Openshift v3](https://github.com/openshift/jenkins)
* [Official Jenkins Docker image](https://github.com/michaelneale/jenkins-ci.org-docker)
* [https://github.com/jenkinsci 🌟🌟🌟🌟](https://github.com/jenkinsci)
    * [https://github.com/jenkinsci/performance-plugin](https://github.com/jenkinsci/performance-plugin)
* [https://github.com/geerlingguy/ansible-role-jenkins](https://github.com/geerlingguy/ansible-role-jenkins)
* Awesome Jenkins:
    * [sahilsk/awesome-jenkins](https://github.com/sahilsk/awesome-jenkins)
    * [Hacking jenkins](https://github.com/orangetw/awesome-jenkins-rce-2019)
* [https://www.reddit.com/r/jenkinsci 🌟🌟🌟🌟](https://www.reddit.com/r/jenkinsci) 
* [DZone refcard: declarative pipeline with jenkins 🌟🌟](https://dzone.com/refcardz/declarative-pipeline-with-jenkins)
* [Dzone refcard: Continuous Delivery with Jenkins Workflow](https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow)
* [Dzone refcard: Jenkins on PaaS](https://dzone.com/asset/download/230) Continuous Integration with Jenkins for Java Projects. Includes a review of the most useful plugins, best practices, security, integration to an enterprise environment, and more.
* [7 Ways to Optimize Jenkins](https://www.sitepoint.com/7-ways-optimize-jenkins/)
* [Dzone: Top 10 Best Practices for Jenkins Pipeline](https://dzone.com/articles/top-10-best-practices-for-jenkins-pipeline)
* [opensource.com: Running Jenkins builds in Openshift containers](https://opensource.com/article/18/4/running-jenkins-builds-containers)
* [thoughtworks.com: Modernizing your build pipelines 🌟🌟🌟](https://www.thoughtworks.com/es/insights/blog/modernizing-your-build-pipelines)
    * [github.com/sirech/example-concourse-pipeline](https://github.com/sirech/example-concourse-pipeline)
* [rancher.com: Deploying and Scaling Jenkins on Kubernetes 🌟🌟🌟](https://rancher.com/blog/2018/2018-11-27-scaling-jenkins/)
* [opensource.com - building cicd pipelines with jenkins 🌟🌟🌟](https://opensource.com/article/19/9/intro-building-cicd-pipelines-jenkins)
* [medium: jenkins cicd getting started with groovy and docker](https://medium.com/@fvtool/jenkins-cicd-getting-started-with-groovy-and-docker-containers-part-2-b03a1b934a49)
* [jaxenter.com - CI/CD for Spring Boot Microservices](https://jaxenter.com/cicd-microservices-docker-162408.html)
* [opensource.com - Introduction to writing pipelines-as-code and implementing DevOps with Jenkins 2](https://opensource.com/article/18/8/devops-jenkins-2)
* [piotrminkowski.wordpress.com: Kotlin microservice with spring boot](https://piotrminkowski.wordpress.com/2019/01/15/kotlin-microservice-with-spring-boot/)
* [wardviaene/jenkins-course](https://github.com/wardviaene/jenkins-course) 🌟🌟🌟🌟
* [jenkinsci.github.io 🌟🌟🌟🌟](http://jenkinsci.github.io/)
    * [job-dsl-plugin - Jenkins Job DSL API 🌟🌟🌟🌟](http://jenkinsci.github.io/job-dsl-plugin/ )
* [uncontained.io: external jenkins integration](http://v1.uncontained.io/playbooks/continuous_delivery/external-jenkins-integration.html)
* [dzone: getting started with jenkins the ultimate guide](https://dzone.com/articles/getting-started-with-jenkins-the-ultimate-guide)
* [dzone: jenkins in a nutshell](https://dzone.com/articles/jenkins-in-a-nutshell)
* [dzone: learn how to setup a cicd pipeline from scratch 🌟🌟🌟](https://dzone.com/articles/learn-how-to-setup-a-cicd-pipeline-from-scratch)
* [dzone: how to use basic jenkins pipelines](https://dzone.com/articles/how-to-use-basic-jenkins-pipelines)
* [opensource.com: running jenkins builds containers 🌟](https://opensource.com/article/18/4/running-jenkins-builds-containers)
* Configuration as Code for CloudBees Core on modern cloud platforms 🌟🌟🌟:
    * [**docs.cloudbees.com: Configuration as Code for CloudBees Core on modern cloud platforms**](https://docs.cloudbees.com/docs/cloudbees-core/latest/cloud-admin-guide/core-casc-modern)
    * [CloudBees Core Configuration as Code (Preview)](https://www.previous.cloudbees.com/blog/cloudbees-core-configuration-code-preview)
* [**Cloudbees Flow** 🌟🌟🌟](https://www.cloudbees.com/products/flow/overview)
* [sdtimes.com: CI/CD pipelines are expanding 🌟🌟🌟](https://sdtimes.com/devops/ci-cd-pipelines-are-expanding/) The “basic” CI/CD pipeline includes five processes, which are: merge, build, test, package and deploy. All of these are individually defined so readers have a common reference point. The basic pipeline includes sub-pipelines associated with each step, such as moving artifacts from a build into a repository.

## Jenkins Scalability
* [dzone: how to setup scalable jenkins on top of a kubernetes cluster](https://dzone.com/articles/how-to-setup-scalable-jenkins-on-top-of-a-kubernet)
* [devops.com: kubernetes jenkins master slave scalability](https://devops.com/kubernetes-jenkins-master-slave-scaling-the-scalability-issue/)
* [rancher.com: sacling jenkins](https://rancher.com/blog/2018/2018-11-27-scaling-jenkins/)

## Jenkins Plugins
* [dev.to: 8 Jenkins plugins I can't live without (2019)](https://dev.to/jcoelho/8-jenkins-plugins-i-cant-live-without-3bin)
* [caylent: 20 Jenkins Plugins You Can’t Live Without (2018) 🌟🌟🌟🌟](https://caylent.com/jenkins-plugins)
* [blazemeter.com: Top Jenkins Plugins You Can’t Miss in 2018](https://www.blazemeter.com/blog/top-jenkins-plugins-you-cant-miss-in-2018/)
* [dzone: Top 5 Jenkins Plugins (2017)](https://dzone.com/articles/5-best-jenkins-plugins-recommended-by-our-team)
* [devops.com: 15 must have Jenkins plugins to increase productivity](https://devops.com/15-must-jenkins-plugins-increase-productivity/)
* [jrebel.com: Top 10 Jenkins Plugins and Features (2014)](https://www.jrebel.com/blog/top-10-jenkins-plugins-and-features)
* [devteam.space: 10 Best Jenkins Plugins For DevOps](https://www.devteam.space/blog/10-best-jenkins-plugins-for-devops/)
* [devops.com: Top 10 Best Practices for Jenkins Pipeline Plugin 🌟🌟🌟](https://devops.com/top-10-best-practices-for-jenkins-pipeline-plugin/)
* [job-dsl-plugin 🌟🌟🌟](https://github.com/jenkinsci/job-dsl-plugin/wiki)
    * [job-dsl gradle example](https://github.com/sheehan/job-dsl-gradle-example)
 * Configuration as code plugin 🌟🌟🌟:
    * [dzone: jenkins configuration as code](https://dzone.com/articles/jenkins-configuration-as-code-need-for-speed)
    * [dzone: running jenkins server with configuration as code](https://dzone.com/articles/running-jenkins-server-with-configuration-as-code)
    * [github.com/jenkinsci/configuration-as-code-plugin](https://github.com/jenkinsci/configuration-as-code-plugin)
    * [devops.com: Using jenkins configuration as code](https://devops.com/using-jenkins-configuration-as-code/)
* [Matrix 🌟🌟🌟](https://jenkins.io/blog/2019/11/22/welcome-to-the-matrix/)
* [Compress-buildlog](https://plugins.jenkins.io/compress-buildlog)
* [syslog-logger](https://plugins.jenkins.io/syslog-logger)
* [openshift-pipeline](https://plugins.jenkins.io/openshift-pipeline)
* [openshift-sync](https://plugins.jenkins.io/openshift-sync)
* [openshift-client](https://plugins.jenkins.io/openshift-client)
* [openshift-login](https://plugins.jenkins.io/openshift-login)
* [openshift-deployer](https://plugins.jenkins.io/openshift-deployer)
* [kubernetes plugin](https://plugins.jenkins.io/kubernetes)
* [Kubernetes Continuous Deploy 🌟🌟🌟](https://plugins.jenkins.io/kubernetes-cd)
* [Atlassian's new Bitbucket Server integration for Jenkins 🌟🌟🌟](https://jenkins.io/blog/2020/01/08/atlassians-new-bitbucket-server-integration-for-jenkins/)
* [Cloudbees Flow 🌟🌟🌟](https://plugins.jenkins.io/electricflow)
* [Cloudbees Credentials 🌟🌟](https://plugins.jenkins.io/cloudbees-credentials)
* [CloudBees Health Advisor](https://plugins.jenkins.io/cloudbees-jenkins-advisor)
* [CloudBees Disk Usage Simple](https://plugins.jenkins.io/cloudbees-disk-usage-simple)
* [CloudBees AWS Credentials 🌟🌟](https://plugins.jenkins.io/aws-credentials)
* [CloudBees Docker Custom Build Environment](https://plugins.jenkins.io/docker-custom-build-environment)
* etc

## Jenkins DSL
* [Jenkins DSL for Nexus](https://accenture.github.io/adop-cartridges-cookbook/docs/recipes/archiving-artefact-to-nexus/)
* Jenkins DSL for Maven:
    * [ref 1](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.step.StepContext.maven)
    * [ref 2](https://deors.wordpress.com/2019/04/25/jenkins-ci-pipeline-java-spring-boot-maven-docker/)

## Monitoring jenkins
* [Performance plugin](https://github.com/jenkinsci/performance-plugin)
* [Splunk Plugins](https://plugins.jenkins.io/splunk-devops)
    * [Splunk App for Jenkins](https://splunkbase.splunk.com/app/3332/)
* [Logstash](https://plugins.jenkins.io/logstash)
* [Build Monitor Plugin](https://wiki.jenkins.io/display/JENKINS/Build+Monitor+Plugin)
    * [Monitor CI nodes with Jenkins](http://www.ampelofilosofies.gr/software/2017/03/04/monitor-ci-nodes-with-jenkins#sthash.eLP0PanT.dpbs)
    * [youtube: How to create Build Monitor View](https://www.youtube.com/watch?v=WnQK6-puXSM)
    * [youtube: monitoring jenkins job with build monitor view](https://www.youtube.com/watch?v=y6RNLNvnYIw)
    * [tatiyants.com: jenkins build monitor](http://tatiyants.com/jenkins-build-monitor/)
* [Monitor Pro Plugin](https://wiki.jenkins.io/display/JENKINS/Monitor+Pro+Plugin)
* [ALM Performance: Continuously Monitor Performance and Vitality of your Jenkins Deployment](https://www.almtoolbox.com/jenkins-monitoring.php)
* [Monitoring jenkins using instana](https://www.instana.com/blog/monitoring-jenkins-using-instana/)
* [medium: prometheus and grafana dashboard](https://medium.com/@gangsta_black/grafana-cool-dashboard-for-monitoring-jenkins-with-prometheus-c7ba4f1c6297)
* [dynatrace.com: optimizing jenkins to ensure fast build times with dynatrace](https://www.dynatrace.com/news/blog/optimizing-jenkins-to-ensure-fast-build-times-with-dynatrace/)
* [opsview.com: opspack](https://www.opsview.com/product/system-monitoring/application/jenkins-monitoring)
* [Chrome Extension](https://chrome.google.com/webstore/detail/monitor-me-jenkins/jhbokpimjgedmpcmfoghhiokhpihlkgc)
* [Jenkins plugin to provide automatic status for multibranch jobs (Grafana)](https://plugins.jenkins.io/github-autostatus)
    * [github.com/jenkinsci/github-autostatus-plugin](https://github.com/jenkinsci/github-autostatus-plugin)
* [20 Jenkins Plugins You Can’t Live Without](https://caylent.com/jenkins-plugins)
* [youtube - CloudBeesTV: Jenkins Performance: Avoiding Pitfalls, Diagnosing Issues & Scaling for Growth](https://www.youtube.com/watch?v=yTafQ-e84eY)

## Jenkins X
Jenkins X is a specialized Jenkins for Kubernetes: This is how it works from a bird eye the CI/CD:  a developer creates a branch, then Jenkins X creates a ephemeral namespace with that branch. The developer tests it and once it is ok, a PR is created, then, the branch is deployed in staging.  When I merge it, it goes to QA, and with a manual command "jx promote" it goes to production.  Jenkins X deletes automatically after N hours the branch namespace.

* [itnext.io/tagged/jenkins-x](https://itnext.io/tagged/jenkins-x)
* [itnext.io: Jenkins X — Managing Jenkins](https://itnext.io/jenkins-x-managing-jenkins-926f0e0f8bcf)
* Video Tutorials:
    * [Youtube: Jenkins X: Continuous Delivery for Kubernetes with James Strachan](https://www.youtube.com/watch?v=BF3MhFjvBTU)
    * [Youtube: Kubernetes Package Management with Helm and CI/CD with Jenkins X - Webinar by Neependra Khare](https://www.youtube.com/watch?v=oZOZiL6XIfA&feature=emb_title)
    * [go.digitalocean.com/cicd-on-k8s](https://go.digitalocean.com/cicd-on-k8s)

## CI/CD BOTs
Use bots to accomplish tasks like merging PR's that have been approved and automatically updating dependencies. Usage of one of these bots might allow us to trigger certain builds based off of specific GitHub tags,  it would allow us to only selectively run certain test suites and increase the throughput of the build by only testing changes made in a branch / PR.
 
Investigate options that are available and see if we can integrate them with CI.
 
We should be able to configure this bot to automatically apply labels to PR's based off of what is changed in a PR. For instance, if a PR contains any documentation changes, the area/Documentation label can be applied.

* [Jenkins-X UpdateBOT](https://github.com/jenkins-x/updatebot)
* [PlasticSCM MergeBot Jenkins Plugin](https://wiki.jenkins.io/display/JENKINS/PlasticSCM+MergeBot+plugin)
* [support.cloudbees.com: how to configure jenkins for git merge](https://support.cloudbees.com/hc/en-us/articles/227246387-How-to-Configure-Jenkins-for-Git-Merge-)
* [Jenkins ghprb plugin](https://github.com/jenkinsci/ghprb-plugin)
* [Bors-ng: A merge bot for GitHub Pull Requests](https://github.com/bors-ng/bors-ng)

