# DevOps Demos, Tutorials & Screencasts - [DevOps Screencasts](#devops-screencasts) - [DevOps Blogs](#devops-blogs) - [DevOps Demos](#devops-demos) - [Ansible and Ansible Tower](#ansible-and-ansible-tower) - [GitOps](#gitops) - [Kubernetes Demos](#kubernetes-demos) - [CI/CD with SpringBoot for Kubernetes](#cicd-with-springboot-for-kubernetes) - [Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin](#deploy-a-spring-boot-application-to-openshift-with-spring-cloud-kubernetes-and-fabric-8-maven-plugin) - [Kubernetes CKAD Example Exam Questions Practical Challenge Series](#kubernetes-ckad-example-exam-questions-practical-challenge-series) - [Istio Service Mesh](#istio-service-mesh) - [Envoy Service Mesh](#envoy-service-mesh) - [Rancher](#rancher) - [GitOps Workflow with Flux](#gitops-workflow-with-flux) - [Amazon EKS. Deploy example microservices on EKS](#amazon-eks-deploy-example-microservices-on-eks) - [Environments to learn and practice Kubernetes security](#environments-to-learn-and-practice-kubernetes-security) - [Red Hat Demo Central](#red-hat-demo-central) - [Cloud Native Development Architectural Diagrams Demos](#cloud-native-development-architectural-diagrams-demos) - [OpenShift Demos](#openshift-demos) - [OpenShift VS Kubernetes](#openshift-vs-kubernetes) - [IBM Cloud Pak Playbooks](#ibm-cloud-pak-playbooks) - [Knative](#knative) - [OpenShift Pipelines Workshop (Tekton)](#openshift-pipelines-workshop-tekton) - [ArgoCD](#argocd) - [GitLab Pipelines on OpenShift](#gitlab-pipelines-on-openshift) - [Deploying Web Applications with Eclipse JKube (formerly known as fabric8)](#deploying-web-applications-with-eclipse-jkube-formerly-known-as-fabric8) - [Monitoring Services with OpenShift ServiceMesh](#monitoring-services-with-openshift-servicemesh) - [Red Hat Migration Toolkit for Applications](#red-hat-migration-toolkit-for-applications) - [Red Hat Advanced Cluster Management RHACM](#red-hat-advanced-cluster-management-rhacm) - [OKD](#okd) - [Helm 3 on OpenShift](#helm-3-on-openshift) - [Writing Kubernetes Operators](#writing-kubernetes-operators) - [Customized Reports with Metering Operator (monitoring k8s resources)](#customized-reports-with-metering-operator-monitoring-k8s-resources) - [Red Hat AMQ Streams (Kafka)](#red-hat-amq-streams-kafka) - [Jenkins Demos](#jenkins-demos) - [Jenkins Declarative Pipelines with OpenShift](#jenkins-declarative-pipelines-with-openshift) - [OpenShift Pipelines with S2i and Jenkins Blue Ocean](#openshift-pipelines-with-s2i-and-jenkins-blue-ocean) - [Jenkins Configuration as Code on Kubernetes](#jenkins-configuration-as-code-on-kubernetes) - [From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs](#from-jenkins-freestyle-jobs-to-pipeline-with-jobdsl-seed-jobs) - [SDKMAN](#sdkman) - [Jenkins Scripts](#jenkins-scripts) - [Postman & Newman API Automated Tests](#postman--newman-api-automated-tests) - [Monitoring Jenkins with Grafana](#monitoring-jenkins-with-grafana) - [Jenkins X](#jenkins-x) - [Nexus3 on Kubernetes](#nexus3-on-kubernetes) - [GitLab](#gitlab) - [Spring PetClinic Sample Application](#spring-petclinic-sample-application) - [Modular Pipeline Library (MPL). Petclinic Pipeline example with MPL](#modular-pipeline-library-mpl-petclinic-pipeline-example-with-mpl) - [PetClinic on Kubernetes:](#petclinic-on-kubernetes) - [PetClinic Docker images:](#petclinic-docker-images) - [OpenShift.io Samples](#openshiftio-samples) - [AWS Demos](#aws-demos) - [Azure DevOps Demos](#azure-devops-demos) - [Google DevOps Demos](#google-devops-demos) - [GitOps with Anthos Config Management](#gitops-with-anthos-config-management) - [Quarkus Demos](#quarkus-demos) - [Kafka](#kafka) - [Apache Camel & ActiveMQ. Event driven integration](#apache-camel--activemq-event-driven-integration) - [Codeless](#codeless) - [JBoss EAP](#jboss-eap) - [Terraform](#terraform) - [Prometheus and Grafana](#prometheus-and-grafana) - [GitHub Actions](#github-actions) ## DevOps Screencasts - [SysAdmin Casts π](https://sysadmincasts.com/) - [DEVOPS Library π](https://devopslibrary.com/) ## DevOps Blogs - [DevStack](https://devstack.in/) All about DevOps ## DevOps Demos * [RedHatGov.io](http://redhatgov.io) is an open source collection of workshop materials that cover various topics relating to Red Hat's product portfolio. * [github.com/wardviaene (kubernetes, terraform, ansible, docker, etc) π](https://github.com/wardviaene) * [wardviaene/jenkins-course](https://github.com/wardviaene/jenkins-course) * [wardviaene/kubernetes-course](https://github.com/wardviaene/kubernetes-course) * [thoughtworks.com: Modernizing your build pipelines with **Concourse CI** π](https://www.thoughtworks.com/es/insights/blog/modernizing-your-build-pipelines) * [github.com/sirech/example-concourse-pipeline](https://github.com/sirech/example-concourse-pipeline) * [yankils/Simple-DevOps-Project](https://github.com/yankils/Simple-DevOps-Project) * [Spring PetClinic Sample Application](#spring-petclinic-sample-application) By following this repository you can able to setup a DevOps CI/CD Pipeline using: git, Jenkins, Maven, Ansible, Docker & Kubernetes * [swissarmydevops.com](https://swissarmydevops.com/) ### Ansible and Ansible Tower * [ansible.github.io/workshops/demos : Red Hat Ansible Automation Platform Workshops](https://ansible.github.io/workshops/demos/) * [Red Hat Ansible Tower - Workshop and Demo](https://github.com/network-automation/tower_workshop) * [blog.stephane-robert.info: Ansible - Utiliser MySQL comme inventaire dynamique (Use MySQL as a dynamic inventory)](https://blog.stephane-robert.info/post/ansible-utiliser-mysql-comme-inventaire-dynamique/) * [opensource.com: Build a Kubernetes Minecraft server with Ansible's Helm modules](https://opensource.com/article/20/10/kubernetes-minecraft-ansible) Deploy a Minecraft server into a Kubernetes cluster with Ansible's new collections. * [developers.redhat.com: Run your first Ansible Playbook (Katakoda)](https://developers.redhat.com/courses/ansible/getting-started) * [kubernetes-advocate.medium.com: Website Deployment to AWS with Ansible](https://kubernetes-advocate.medium.com/how-to-deploy-a-website-to-aws-with-ansible-e878a63dd93) ### GitOps - [thenewstack.io: GitOps in Multicluster Environments with Anthos Config Management](https://thenewstack.io/tutorial-gitops-in-multicluster-environments-with-anthos-config-management/) ## Kubernetes Demos * [kubernetesbyexample.com π](http://kubernetesbyexample.com/) * [github.com/eon01/kubernetes-workshop](https://github.com/eon01/kubernetes-workshop) * [wardviaene/kubernetes-course](https://github.com/wardviaene/kubernetes-course) * [github.com/kubernetes-course/container_workshops](https://github.com/kubernetes-course/container_workshops) * [Mautic](https://github.com/mautic/docker-mautic) * [howtoforge.com: How to create a Deployment in Kubernetes](https://www.howtoforge.com/create-a-deployment-in-kubernetes/) * [codeburst.io: getting started with kubernetes, deploy a docker container in 5 minutes](https://codeburst.io/getting-started-with-kubernetes-deploy-a-docker-container-with-kubernetes-in-5-minutes-eb4be0e96370) * [Kubernetes workshop in a box](https://www.theguild.nl/k8s-workshop-in-a-box/) * [GitHub: K8s workshop in a box](https://github.com/kabisa/k8s-workshop-in-a-box) * [medium.com/@Kubernetes_Advocate π](https://medium.com/@Kubernetes_Advocate) * [medium.com/avmconsulting-blog](https://medium.com/avmconsulting-blog) * [medium: Efficient Node Out-of-Resource Management in Kubernetes](https://medium.com/kubernetes-tutorials/efficient-node-out-of-resource-management-in-kubernetes-67f158da6e59) * [itnext.io: K8s raise StatefulSet volume size with low impact](https://itnext.io/k8s-raise-statefulset-volume-size-with-low-impact-33fe1e2576f6) Shown step-by-step on a simple example application * [Kubernetes Examples](https://github.com/ianmiell/kubernetes-examples) * [medium: Prometheus-Grafana on K8s](https://medium.com/@sdhah1999/prometheus-grafana-on-k8s-6efee4af4036) * [blog.scottlowe.org: Using kubectl via an SSH Tunnel](https://blog.scottlowe.org/2020/06/16/using-kubectl-via-an-ssh-tunnel/) Learn how to use kubectl via an SSH Tunnel to connect to the Kubernetes API server. * [trainings.kubernauts.sh](https://trainings.kubernauts.sh/) Learn Kubernetes by doing and run into problems! * [magalix.com: How To Integrate OPA Into Your Kubernetes Cluster Using Kube-mgmt](https://www.magalix.com/blog/how-to-integrate-opa-into-your-kubernetes-cluster-using-kube-mgmt) * [itnext.io: Kubernetes Journey β Up and running out of the cloud β How to setup the Masters using kubeadm bootstrap](https://itnext.io/kubernetes-journey-up-and-running-out-of-the-cloud-how-to-setup-the-masters-using-kubeadm-9a496a14fbc1) * [medium: Build a Federation of Multiple Kubernetes Clusters With Kubefed V2](https://medium.com/better-programming/build-a-federation-of-multiple-kubernetes-clusters-with-kubefed-v2-8d2f7d9e198a) * [medium: Single Sign-On in Kubernetes](https://medium.com/@andriisumko/single-sign-on-in-kubernetes-1ad9528350ed) This article walks you through creating a service, exposing it with an Ingress, and adding Single Sign On. The article uses Okta (but of course youβre free to use any other OIDC SSO provider you prefer) * [Free Kubernetes ππ](https://github.com/learnk8s/free-kubernetes/) List of free Trials/Credit for Managed Kubernetes Services. * [medium: Kubernetes in a nutshell β tutorial for beginners ππ](https://medium.com/swlh/kubernetes-in-a-nutshell-tutorial-for-beginners-caa442dfd6c0) Deploy a complete application stack just in a few steps! * [shipa.io: Developing and deploying applications to Kubernetes locally with Shipa and Minikube](https://www.shipa.io/development/deploying-applications-on-kubernetes/) * [kruyt.org: Running a mailserver in Kubernetes](https://kruyt.org/running-a-mailserver-in-kubernetes/) * [piotrminkowski.com: RabbitMQ Monitoring on Kubernetes](https://piotrminkowski.com/2020/09/29/rabbitmq-monitoring-on-kubernetes/?utm_sq=gl0f6vph5e) * [dzone: Bootstrapping Java Kubernetes Apps With Spring Initializr and K8s Initializer π](https://dzone.com/articles/bootstrapping-java-kubernetes-apps-no-yaml) Build a Spring Boot app and deploy to K8s without writing a single line of YAML. * [medium: Production Ready CI/CD Pipeline with Kubernetes](https://medium.com/awsblogs/ci-cd-with-kubernetes-3c29e8073c38) ### CI/CD with SpringBoot for Kubernetes * [CI/CD for Kubernetes through a Spring Boot example (Banzai Cloud CI/CD)](https://teletype.in/@sravancynixit/CcwqFANxY) * [onlineitguru.com: How to utilize Spring Boot Microservices on Kubernetes?](https://onlineitguru.com/blogger/how-to-utilize-spring-boot-microservices-on-kubernetes) * [piotrminkowski.com: Spring Boot on Kubernetes with Buildpacks and Skaffold π](https://piotrminkowski.com/2020/12/18/spring-boot-on-kubernetes-with-buildpacks-and-skaffold/) #### Deploy a Spring Boot Application to Openshift with Spring Cloud Kubernetes and Fabric 8 Maven Plugin * [github: Spring Cloud Kubernetes π](https://github.com/spring-cloud/spring-cloud-kubernetes) * [baeldung.com: Deploy a Spring Boot Application to OpenShift with Spring Cloud Kubernetes π](https://www.baeldung.com/spring-boot-deploy-openshift) ### Kubernetes CKAD Example Exam Questions Practical Challenge Series * [Kubernetes CKAD Example Exam Questions Practical Challenge Series](https://codeburst.io/kubernetes-ckad-weekly-challenges-overview-and-tips-7282b36a2681) ### Istio Service Mesh - [github: redhat-developer-demos Istio Tutorial for Java Microservices](https://github.com/redhat-developer-demos/istio-tutorial) - [blog.jetstack.io: Istio OIDC Authentication](https://blog.jetstack.io/blog/istio-oidc/) In this article you'll deploy an app and secure it with authenticaiton and authorisation for using Istio ### Envoy Service Mesh - [loginradius.com: Service Mesh with Envoy](https://www.loginradius.com/blog/async/service-mesh-with-envoy/) This post will cover a working setup of a service mesh architecture using Envoy using a demo application. You will be using Envoy proxy for both control and data plane. ### Rancher - [Deploy a Rancher Cluster with GitLab CI and Terraform](https://rancher.com/blog/2020/deploy-with-gitlab-ci) - [cncf.io: Implementing GitOps on Kubernetes Using K3s, Rancher, Vault and Argo CD](https://www.cncf.io/blog/2020/11/12/implementing-gitops-on-kubernetes-using-k3s-rancher-vault-and-argo-cd/) ### GitOps Workflow with Flux - [managedkube.com: A Complete Step by Step Guide to Implementing a GitOps Workflow with Flux](https://managedkube.com/gitops/flux/weaveworks/guide/tutorial/2020/05/01/a-complete-step-by-step-guide-to-implementing-a-gitops-workflow-with-flux.html) ### Amazon EKS. Deploy example microservices on EKS * [eksworkshop.com](https://eksworkshop.com/ ) * [eksworkshop.com/x-ray/microservices](https://eksworkshop.com/x-ray/microservices/) * [eksworkshop.com: Configure Cluster Autoscaler (CA)](https://eksworkshop.com/scaling/deploy_ca/) * [aws.amazon.com: Deploy a kubernetes application](https://aws.amazon.com/getting-started/projects/deploy-kubernetes-app-amazon-eks/) * [aws blogs: Git Push to Deploy Your App on EKS](https://aws.amazon.com/blogs/opensource/git-push-deploy-app-eks-gitkube/) * [medium: create your first application on aws eks kubernetes](https://medium.com/faun/create-your-first-application-on-aws-eks-kubernetes-cluster-874ee9681293) * [dzone: deploying a kubernetes cluster with amazon eks π](https://dzone.com/articles/deploying-a-kubernetes-cluster-with-amazon-eks) * [stacksimplify.com: DevOps with AWS CodePipeline on AWS EKS](https://www.stacksimplify.com/aws-eks/aws-devops-eks/learn-to-master-devops-on-aws-eks-using-aws-codecommit-codebuild-codepipeline/) * [medium: AWS App Mesh with EKS and Canary deployment](https://medium.com/@anupam.s1602/aws-app-mesh-with-eks-and-canary-deployment-5503d9ba95d6) ### Environments to learn and practice Kubernetes security - [The Kubernetes Goat](https://github.com/madhuakula/kubernetes-goat) designed to be intentionally vulnerable cluster environment to learn and practice Kubernetes security. ## Red Hat Demo Central * [gitlab.com/redhatdemocentral π](https://gitlab.com/redhatdemocentral) * [redhatdemocentral.gitlab.io](https://redhatdemocentral.gitlab.io) * [CodeReady Containers - Red Hat Decision Manager Install Demo](https://gitlab.com/redhatdemocentral/rhcs-rhdm-install-demo) * [youtube: CodeReady Containers - Easy OpenShift Container Platform 4.5 Installation](https://www.youtube.com/watch?v=CJMdSQVFVik) ### Cloud Native Development Architectural Diagrams Demos * Cloud-native development is an approach to building and running applications to fully exploit the advantages of the cloud computing model (i.e. responsive, elastic and resilient applications). * [Portfolio Architecture](https://redhatdemocentral.gitlab.io/portfolio-architecture-workshops/#/) Workshops for creating impactful architectural diagrams. This workshop will teach you how to use, design, and create architectural diagrams based on the **draw.io** tooling and Red Hat Portfolio Architecture design elelements. You'll leverage existing portfolio architecture diagrams as starting points. * [redhatdemocentral.gitlab.io/portfolio-architecture-tooling](https://redhatdemocentral.gitlab.io/portfolio-architecture-tooling/) * [gitlab.com: Project Examples](https://gitlab.com/redhatdemocentral/portfolio-architecture-examples) ## OpenShift Demos * [developers.redhat.com: Developing on OpenShift (katacoda interactive learning) π](https://developers.redhat.com/courses/openshift/) Learn how to access an OpenShift cluster, manage apps with the odo command-line tool, then try image and source-based deployment techniques. * [github.com/OpenShiftDemos π](https://github.com/OpenShiftDemos) * [DockerHub OpenShift Demos](https://hub.docker.com/r/openshiftdemos/) * [Red Hat Tutorials & Examples: github.com/redhat-developer-demos π](https://github.com/redhat-developer-demos) * [redhatgov.io](http://redhatgov.io) RedHatGov.io is an open source collection of workshop materials that cover various topics relating to Red Hat's product portfolio. * [blog.openshift.com: OCP multi-node deployment on **AWS** using CloudFormation and Ansible (quickstart workshop)](https://blog.openshift.com/aws-and-red-hat-quickstart-workshop/) * [Deploying Docker Images to OpenShift](https://dzone.com/articles/deploying-docker-images-to-openshift) We take a look at how to deploy a Docker image from DockerHub into RedHat's OpenShift environment, bringing added functionality along the way. * [SonarQube: An OpenShift-focused Docker build of Sonarqube](https://github.com/OpenShiftDemos/sonarqube-openshift-docker) * [Deploying PostgreSQL in MiniShift/OpenShift 3](https://blog.dbi-services.com/deploying-postgresql-in-minishiftopenshift/) * [Clustering WildFly on Openshift](http://www.mastertheboss.com/soa-cloud/openshift/clustering-wildfly-on-openshift-using-wildfly-operator) * [Java EE example on Openshift](http://www.mastertheboss.com/soa-cloud/openshift/java-ee-example-application-on-openshift) * [Microprofile example on Openshift](http://www.mastertheboss.com/soa-cloud/openshift/running-microprofile-applications-on-openshift) * [Deploying WildFly apps on Openshift](http://www.mastertheboss.com/soa-cloud/openshift/using-wildfly-on-openshift) * [Running Thorntail apps on Openshift](http://www.mastertheboss.com/soa-cloud/openshift/thorntail-on-openshift) * [Running Spring Boot applications on Openshift](http://www.mastertheboss.com/jboss-frameworks/spring/deploy-your-springboot-applications-on-openshift) * [github.com/openshiftdemos π](https://github.com/openshiftdemos) * [github.com/openshift-labs π](https://github.com/openshift-labs) * [MapIt](https://github.com/siamaksade/mapit-spring) MapIt is a geo-spatial Spring Boot app which shows the location of AirPorts on the Map using Leaflet. * [openshift.com: Simple Canary Deployments using Kubernetes StatefulSets on OpenShift](https://www.openshift.com/blog/simple-canary-deployments-using-kubernetes-statefulsets-on-openshift) * [github.com/jbossdemocentral: Red Hat Process Automation Manager Mortgage Demo](https://github.com/jbossdemocentral/rhpam7-mortgage-demo) * [medium: Tutorial : Secure your API with x509 Mutual Authentication with Spring Boot on OpenShift4](https://medium.com/@erfin.feluzy/tutorial-secure-your-api-with-x509-mutual-authentication-with-spring-boot-on-openshift4-416a00a47af8) * [medium.com: Red Hat OpenShift Virtualization in nested VMware vSphere Cluster](https://medium.com/@carlosedp/red-hat-openshift-virtualization-in-nested-vmware-vsphere-56c5e5d76a80) In this post, I'll go thru the process of running Virtual Machines on OpenShift Virtualization in a nested setup inside VMware vSphere. This requires both ESXi hosts and a VCenter, both on 6.7U3 or up. * [schabell.org: CodeReady Containers - Building a Cloud-Native Human Resources Process](https://www.schabell.org/2020/10/codeready-containers-building-cloud-native-hr-process.html) * [developers.redhat.com: Persistent storage in action: Understanding Red Hat OpenShiftβs persistent volume framework π](https://developers.redhat.com/blog/2020/10/22/persistent-storage-in-action-understanding-red-hat-openshifts-persistent-volume-framework/) * [opensource.com: Set up Minishift and run Jenkins on Linux](https://opensource.com/article/20/11/minishift-linux) Install, configure, and use Minishift to create your first pipeline. ### OpenShift VS Kubernetes * [developer.ibm.com: Example exercises to differentiate OpenShift and Kubernetes](https://developer.ibm.com/tutorials/examples-differentiate-openshift-kubernetes/) Example exercises to differentiate OpenShift and Kubernetes. Walk through some steps with Red Hat OpenShift on IBM Cloud. ### IBM Cloud Pak Playbooks * [IBM Cloud Pak Playbook](https://cloudpak8s.io/apps/cp4a_overview/) ### Knative * [knative-tutorial](https://github.com/redhat-developer-demos/knative-tutorial) A pratical guide to get started with knative. Knative concepts are explained simple and easy way with lots of demos and exercises. ### OpenShift Pipelines Workshop (Tekton) - [Build a Go application using OpenShift Pipelines](https://developers.redhat.com/blog/2020/05/26/build-a-go-application-using-openshift-pipelines/) - [openshift-pipelines-workshop](https://redhat-developer-demos.github.io/openshift-pipelines-workshop/) Workshop to demonstrate OpenShift Pipelines (featuring Tekton) - [OpenShift Pipelines Catalog](https://github.com/openshift/pipelines-catalog) - [systemcraftsman/lab-tekton-pipelines: OpenShift Pipelines workshop](https://github.com/systemcraftsman/lab-tekton-pipelines) - [openshift.com: GitOps Using Red Hat OpenShift Pipelines (Tekton) and Red Hat Advanced Cluster Management](https://www.openshift.com/blog/gitops-using-red-hat-openshift-pipelines-tekton-and-red-hat-advanced-cluster-management) - [Set up continuous integration for .NET Core with OpenShift Pipelines](https://developers.redhat.com/blog/2020/09/24/set-up-continuous-integration-for-net-core-with-openshift-pipelines/) - [alesnosek.com: CI/CD Pipeline Spanning Multiple OpenShift Clusters (jenkins & tekton)](http://alesnosek.com/blog/2020/06/30/ci-slash-cd-pipeline-spanning-multiple-openshift-clusters/) - [openshift.com: Guide to OpenShift Pipelines Part 1 - Introducing OpenShift Pipelines](https://www.openshift.com/blog/guide-to-openshift-pipelines-part-1-introducing-openshift-pipelines) ### ArgoCD - [rromannissen/rhoar-microservices-demo: GitOps for Microservices with Red Hat Runtimes demo](https://github.com/rromannissen/rhoar-microservices-demo) A GitOps pipeline example using ArgoCD, tektoncd and HelmPack for springboot and QuarkusIO microservices. - [developers.redhat.com: From code to production with OpenShift Pipelines and Argo CD](https://developers.redhat.com/blog/2020/09/10/from-code-to-production-with-openshift-pipelines-and-argo-cd/) - [developers.redhat.com: Building modern CI/CD workflows for serverless applications with Red Hat OpenShift Pipelines and Argo CD, Part 1](https://developers.redhat.com/blog/2020/10/01/building-modern-ci-cd-workflows-for-serverless-applications-with-red-hat-openshift-pipelines-and-argo-cd-part-1/) - [developers.redhat.com: Building modern CI/CD workflows for serverless applications with Red Hat OpenShift Pipelines and Argo CD, Part 2](https://developers.redhat.com/blog/2020/10/14/building-modern-ci-cd-workflows-for-serverless-applications-with-red-hat-openshift-pipelines-and-argo-cd-part-2/) - [itnext.io: Deploy Argo CD with Ingress and TLS in Three Steps: No YAML Yak Shaving Required π](https://itnext.io/deploy-argo-cd-with-ingress-and-tls-in-three-steps-no-yaml-yak-shaving-required-bc536d401491) - [Ambassador Edge Stack. K8S Initializer (scaffolding tool) π](https://app.getambassador.io/) ### GitLab Pipelines on OpenShift - [openshift.com: Building GitLab Pipelines on OpenShift](https://www.openshift.com/blog/building-openshift-pipelines-with-gitlab) ### Deploying Web Applications with Eclipse JKube (formerly known as fabric8) - [Building and Deploying a Weather Web Application onto Kubernetes/Red Hat OpenShift using Eclipse JKube](https://itnext.io/building-and-deploying-a-weather-web-application-onto-kubernetes-red-hat-openshift-using-eclipse-62bf7c924be4) - [Java development on top of Kubernetes using Eclipse JKube](https://developers.redhat.com/blog/2020/08/24/java-development-on-top-of-kubernetes-using-eclipse-jkube/) - [medium: Deploy Quarkus Todo List App to Kubernetes Using Eclipse JKube](https://medium.com/swlh/deploy-quarkus-todo-list-app-to-kubernetes-using-eclipse-jkube-c774ef6b68f0) - [youtube: Deploy your Java applications to the Cloud using Eclipse JKube (petclinic) π](https://www.youtube.com/watch?v=vgIwRX4LXfU) ### Monitoring Services with OpenShift ServiceMesh - [Monitoring Services like an SRE in OpenShift ServiceMesh](https://www.openshift.com/blog/monitoring-services-like-an-sre-in-openshift-servicemesh) ### Red Hat Migration Toolkit for Applications - [Migration Toolkit for Applications: Getting Started](https://developers.redhat.com/products/mta/getting-started) - [Migration Toolkit for Applications Demo - June 2020](https://youtu.be/mRCz6Jl0Ds8) Migraiton Toolkit from Applications by Red Hat can help you migrate and/or modernize your applications by analyzing them and finding isses such as use of proprietary classes or behaviousr that are not conformant with 12factor app, in order to help you modernize your app portfolio and make it more cloud & container friendly. ### Red Hat Advanced Cluster Management RHACM - [openshift.com: Applications Here, Applications There! - Part 3 - Application Migration](https://www.openshift.com/blog/applications-here-applications-there-part-3-application-migration) - [Advanced Cluster Management Demos](https://www.youtube.com/playlist?list=PLbMP1JcGBmSFA56rykbH2fg1F9Tozk4of) Want to manage Kubernetes clusters at scale? Struggle with Application Lifecycle? Need to ensure Security and Compliance policies across clusters? Check out these demos of Red Hat Advanced Cluster Manager (RHACM). ### OKD * [medium.com: Installing an OKD 4.5 Cluster](https://medium.com/@craig_robinson/guide-installing-an-okd-4-5-cluster-508a2631cbee) * [itnext.io: Guide: Installing an OKD 4.5 Cluster](https://itnext.io/guide-installing-an-okd-4-5-cluster-508a2631cbee) ### Helm 3 on OpenShift - [Katacoda Lab: Getting Started with Helm 3 on OpenShift](https://learn.openshift.com/developing-on-openshift/helm/) ### Writing Kubernetes Operators - [developers.redhat.com: βHello, Worldβ tutorial with Kubernetes Operators](https://developers.redhat.com/blog/2020/08/21/hello-world-tutorial-with-kubernetes-operators/) ### Customized Reports with Metering Operator (monitoring k8s resources) - [Writing Customized Reports Using Metering Operator](https://www.openshift.com/blog/writing-customized-reports-using-metering-operator) ### Red Hat AMQ Streams (Kafka) - [developers.redhat.com: HTTP-based Kafka messaging with Red Hat AMQ Streams](https://developers.redhat.com/blog/2020/08/04/http-based-kafka-messaging-with-red-hat-amq-streams/) ## Jenkins Demos * [kublr.com: cicd pipeline with jenkins nexus kubernetes](https://kublr.com/blog/cicd-pipeline-with-jenkins-nexus-kubernetes/) * [bitbucket.org: setting up a cicd pipeline with spring mvc and kubernetes on aws](https://bitbucket.org/blog/setting-up-a-ci-cd-pipeline-with-spring-mvc-jenkins-and-kubernetes-on-aws ) * Medium.com - Simple Spring Boot microservice deployed in Kubernetes using Docker and Nexus π: * [Part 1](https://medium.com/@simionrazvan/simple-spring-boot-microservice-deployed-in-kubernetes-using-docker-and-nexus-part-1-b581e3ca8916) * [Part 2](https://medium.com/@simionrazvan/simple-spring-boot-microservice-deployed-in-kubernetes-using-docker-and-nexus-part-2-25dc2a3982cf) * [medium.com/@Kubernetes_Advocate: CI/CD with Dockers and Jenkins](https://medium.com/@Kubernetes_Advocate/ci-cd-with-dockers-and-jenkins-70b6f801f9f7) * [medium.com/@devml2016: Letβs Start Automation using Jenkins, Docker, GitHub](https://medium.com/@devml2016/lets-start-automation-using-jenkins-docker-github-d5f8d019ec4a) * [developers.redhat.com: An easier way to create custom Jenkins containers](https://developers.redhat.com/blog/2020/06/04/an-easier-way-to-create-custom-jenkins-containers) Create your own custom Jenkins container image by aggregating readily available containers in a pod template. * [medium: Letβs Start Automation using Jenkins, Docker, GitHub](https://medium.com/@devml2016/lets-start-automation-using-jenkins-docker-github-d5f8d019ec4a) * [medium: Just commit your code and your docker server is ready (jenkins + github + docker)](https://medium.com/@deepanshuyadavv11/task1-integrating-github-jenkins-and-docker-d66a817774be) * [lambdatest.com: Best Jenkins Pipeline Tutorial For Beginners (Examples) π](https://www.lambdatest.com/blog/jenkins-pipeline-tutorial/) * [ittroubleshooter.in: Run Parallel Builds in Kubernetes Cluster with Jenkins Pipeline π](https://ittroubleshooter.in/run-parallel-build-kubernetes-cluster-jenkins/) * [cloudogu/jenkinsfiles πππ](https://github.com/cloudogu/jenkinsfiles) This project contains examples for the [Jenkins pipeline plugin](https://jenkins.io/solutions/pipeline/), comparing both declarative and scripted syntax. The 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). * [aws.amazon.com: Integrating Jenkins with AWS CodeArtifact to publish and consume Python artifacts](https://aws.amazon.com/blogs/devops/using-jenkins-with-codeartifact/) * [github.com/monodot/pipeline-library-demo π](https://github.com/monodot/pipeline-library-demo) Demonstrates how to use a Shared Library in Jenkins pipelines. This repository defines a single function, sayHello, which will echo a greeting. * [piotrminkowski.com: Continuous Integration with Jenkins on Kubernetes π](https://piotrminkowski.com/2020/11/10/continuous-integration-with-jenkins-on-kubernetes/) ### Jenkins Declarative Pipelines with OpenShift * [github.com/openshift: Using Jenkins Declarative Pipelines with OpenShift π](https://github.com/openshift/origin/tree/master/examples/jenkins/pipeline) * [github.com/gnunn1/openshift-basic-pipeline](https://github.com/gnunn1/openshift-basic-pipeline) * [github.com/deweya/OpenShift-Jenkins-Lab](https://github.com/deweya/OpenShift-Jenkins-Lab) * [Red Hat CodeReady Containers (Minishift equivalent for OpenShift 4.2 or newer) - step-by-step demo guides](https://github.com/marcredhat/crcdemos) * [Grading Pipeline for OpenShift 4 Advanced Application Deployment Homework Assignment](https://github.com/redhat-gpte-devopsautomation/ocp4_app_deploy_homework_grading) * [github - Demostration of a basic OpenShift CI/CD pipeline deploying an application in Development then Test](https://github.com/gnunn1/openshift-basic-pipeline) ### OpenShift Pipelines with S2i and Jenkins Blue Ocean - [OpenShift Pipelines with Jenkins Blue Ocean π](https://www.openshift.com/blog/openshift-pipelines-jenkins-blue-ocean) - [github.com/siamaksade/jenkins-blueocean](https://github.com/siamaksade/jenkins-blueocean) Jenkins Blue Ocean for OpenShift Jenkins S2I ### Jenkins Configuration as Code on Kubernetes * [Demo of Jenkins Configuration-As-Code with Docker and Groovy Hook Scripts (java11-support branch) ππ](https://github.com/oleg-nenashev/demo-jenkins-config-as-code/tree/java11-support) * [Configuration as Code of Jenkins (for Kubernetes) ππ](https://github.com/figaw/configuration-as-code-jenkins-k8s) * [Jenkins Configuration as Code on Kubernetes π](https://github.com/redhatspain/jenkins-CasC-kubernetes-demo) A Codecentric/Jenkins Helm 3 Sample Chart on Digital Ocean Kubernetes with Spring Petclinic Demo Pipeline ### From Jenkins Freestyle jobs to Pipeline, with JobDSL. Seed jobs * [Meetup event: From Freestyle jobs to Pipeline, with JobDSL](https://www.meetup.com/Jenkins-online-meetup/events/270600737/) * Manually managing Jenkins jobs is painful. Jenkins Pipeline exists, but how do you get started and why should you bother in the first place? Journey with Nicolaj, as he talks about the pains of managing a manually configured job in Jenkins; converts a Freestyle Job to JobDSL, instantly; introduces mechanisms for adding the jobs to Jenkins, as code; and ultimately converts the job to a Jenkins Pipeline! * Just like last time, in the talk βConfiguration as Code of Jenkins (for Kubernetes),β youβll see plenty of live demos and get to take home all the code and examples afterwards. Use it as the starting point for taking advantage of the Configuration as Code (CasC) that everyone is talking about, and hopefully it will save you a lot of headache in the future! * Agenda: * Manual Freestyle jobs, and why they hurt us * Introduction to JobDSL and adding JobDSL-jobs to Jenkins * From Freestyle Jobs to JobDSL, the beginning of our CasC adventure * From JobDSL to Pipeline, all the fun of CasC; with even more resilience! * Nicolaj GrΓ¦sholt is a Continuous Delivery and DevOps Consultant and Trainer from Eficode Praqma. He helps organizations with all things CI/CD, Artifact Management, Git, Docker and Kubernetes, and heβs a Certified Kubernetes Administrator of CNCF. * [Slides πππ](https://github.com/figaw/freestyle-to-pipeline-jenkins/blob/master/from-freestyle-jobs-to-pipeline-with-jobdsl.pdf) * [Demo repository πππ](https://github.com/figaw/freestyle-to-pipeline-jenkins) * Links of interest provided in the event: * [Continuation Passing Style (CPS)](https://github.com/cloudbees/groovy-cps/blob/master/doc/cps-basics.md) is a style of programming in which the remainder of the program is passed explicitly as a parameter, as opposed to that being handled implicitly represented as call stack. * [Jenkins Pipeline execution engine based on Continuation Passing Style (CPS) transformation of Groovy scripts. DSL Methods:](https://jenkinsci.github.io/job-dsl-plugin/#plugin/workflow-cps): * [cps](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.workflow.WorkflowDefinitionContext.cps): WorkflowDefinitionContext * [cpsScm](https://jenkinsci.github.io/job-dsl-plugin/#method/javaposse.jobdsl.dsl.helpers.workflow.WorkflowDefinitionContext.cpsScm): WorkflowDefinitionContext * [Defines a Groovy CPS DSL definition: pipelineJob definition cps script](https://jenkinsci.github.io/job-dsl-plugin/#path/pipelineJob-definition-cps-script) * [Jenkins CLI](https://www.jenkins.io/doc/book/managing/cli/) * [How to create initial "seed" job](https://github.com/jenkinsci/configuration-as-code-plugin/blob/master/docs/seed-jobs.md) * [Jenkinsfile Runner Test Framework](https://github.com/jenkinsci/jenkinsfile-runner-test-framework) * [Jenkins Pipeline Unit testing framework](https://github.com/jenkinsci/JenkinsPipelineUnit) * [Plugin Installation Manager Tool](https://github.com/jenkinsci/plugin-installation-manager-tool) * [Jenkins Custom WAR Packager](https://github.com/jenkinsci/custom-war-packager) * Jenkins Configuration as Code: * [Configuration as Code of Jenkins (for Kubernetes) π](https://github.com/figaw/configuration-as-code-jenkins-k8s) * [JEP-224: System Read permission: Improve experience of Jenkins Configuration-as-Code users](https://www.jenkins.io/events/online-hackfest/2020-uiux/) It improves the modifying Web UI configuration controls to support the read-only mode. * Plugins: * [Plugin Usage](https://plugins.jenkins.io/plugin-usage-plugin/) This plugin gives you the possibility to analyze the usage of your installed plugins. * [Pipeline as YAML (Incubated) π](https://plugins.jenkins.io/pipeline-as-yaml/) * [Jenkins Job DSL Plugin](https://github.com/jenkinsci/job-dsl-plugin#documentation) A Groovy DSL for Jenkins Jobs - Sweeeeet! * [Least Load](https://plugins.jenkins.io/leastload/) This plugin overrides the default Load Balancer behavior and assigns jobs to nodes with the least load * [Declarative Pipeline Migration Assistant](https://plugins.jenkins.io/declarative-pipeline-migration-assistant/) * Jenkins Job DSL: * [Jenkins Job DSL API π](https://jenkinsci.github.io/job-dsl-plugin/) * [mavenJob](https://jenkinsci.github.io/job-dsl-plugin/#path/mavenJob) * [Example of a pipeline with parameters](https://github.com/polarpoint-io/groovy-jenkins-pipelines/blob/master/jobs/parameterisedPipelines.groovy) * [Pipeline Global Library for ci.jenkins.io](https://github.com/jenkins-infra/pipeline-library) Collection of custom steps and variables for our Jenkins instance(s)