This commit is contained in:
Inaki Fernandez
2020-06-01 18:28:36 +02:00
parent 31ae186548
commit 8891c0eaa1
5 changed files with 37 additions and 14 deletions

View File

@@ -95,6 +95,7 @@
* [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.
### IBM Cloud Pak Playbooks
* [IBM Cloud Pak Playbook](https://cloudpak8s.io/apps/cp4a_overview/)

View File

@@ -37,6 +37,7 @@ Microservices architectures rely on DevOps practices, automation, CI/CD (continu
- [API Landscape](https://www.apidays.co/api-landscape)
- [From Java EE To Cloud Native](javaee-to-cloud-native.md)
- [Microservices FAQ & Kubernetes Native](faq.md)
- [Stack Overflow Annual Developer Survey](https://insights.stackoverflow.com/survey)
2. [Site Reliability Engineering (SRE)](sre.md)
3. [DevOps](devops.md)
- [Cheat Sheets 🌟](cheatsheets.md)

View File

@@ -7,6 +7,7 @@
- [Jenkins Configuration as Code Solutions. 3 available DSLs](#jenkins-configuration-as-code-solutions-3-available-dsls)
- [DSL 1. Job DSL Plugin. From Freestyle jobs to Declarative Pipeline](#dsl-1-job-dsl-plugin-from-freestyle-jobs-to-declarative-pipeline)
- [DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins](#dsl-2-jenkins-pipeline-pipeline-as-code-with-jenkins)
- [Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax](#jenkins-pipeline-syntax-scripted-syntax-groovy-dsl-syntax-vs-declarative-syntax)
- [Extending with Shared Libraries](#extending-with-shared-libraries)
- [Automating Service Level Indicators/Service Level Objectives based build validation with Keptn and Jenkins](#automating-service-level-indicatorsservice-level-objectives-based-build-validation-with-keptn-and-jenkins)
- [DSL 3. Jenkins Configuration as Code (JCasC)](#dsl-3-jenkins-configuration-as-code-jcasc)
@@ -94,7 +95,7 @@
### DSL 2. Jenkins Pipeline. Pipeline as Code with Jenkins
* [Pipeline as Code with Jenkins 🌟](https://www.jenkins.io/solutions/pipeline/)
* [jenkins.io - doc/book/pipeline 🌟](https://jenkins.io/doc/book/pipeline/)
* [jenkins.io - **jenkinsfile** 🌟](https://jenkins.io/doc/book/pipeline/jenkinsfile/) With **version 2** of the Jenkins Continuous Integration/Continuous Delivery (CI/CD) server, **a new job definition file has been introduced, called Jenkinsfile**. The initial Jenkinsfile format was based on Groovy. As groovy knowledge is not that widespread, a new and more straight forward was published in spring 2017. **This format is called Declarative Pipeline**. [This visual studio code extension](https://marketplace.visualstudio.com/items?itemName=jmMeessen.jenkins-declarative-support) is aimed at making the manipulation of this file type easier.
* [jenkins.io - **Jenkinsfile** 🌟](https://jenkins.io/doc/book/pipeline/jenkinsfile/) With **version 2** of the Jenkins Continuous Integration/Continuous Delivery (CI/CD) server, **a new job definition file has been introduced, called Jenkinsfile**. The initial Jenkinsfile format was based on Groovy. As groovy knowledge is not that widespread, a new and more straight forward was published in spring 2017. **This format is called Declarative Pipeline**. [This visual studio code extension](https://marketplace.visualstudio.com/items?itemName=jmMeessen.jenkins-declarative-support) is aimed at making the manipulation of this file type easier.
* [Dzone refcard: **Continuous Delivery with Jenkins Workflow** 🌟](https://dzone.com/refcardz/continuous-delivery-with-jenkins-workflow)
* [GitHub Gist - Faheetah/Jenkinsfile.groovy: **Jenkinsfile idiosynchrasies with escaping and quotes**](https://gist.github.com/Faheetah/e11bd0315c34ed32e681616e41279ef4)
* [jenkins.io: Jenkins CD and Pipelines Microsite](https://jenkins.io/solutions/pipeline/)
@@ -113,6 +114,13 @@
* [opensource.com - Introduction to writing pipelines-as-code and implementing DevOps with Jenkins 2](https://opensource.com/article/18/8/devops-jenkins-2)
* [thoughtworks.com: Modernizing your build pipelines 🌟](https://www.thoughtworks.com/es/insights/blog/modernizing-your-build-pipelines)
#### Jenkins Pipeline Syntax. Scripted Syntax (Groovy DSL syntax) VS Declarative Syntax
* [Jenkins Pipeline Syntax: Scripted Syntax (Groovy DSL syntax) & Declarative Syntax 🌟](https://www.jenkins.io/doc/book/pipeline/syntax/) Declarative Pipeline is a relatively recent addition to Jenkins Pipeline **(Version 2.5 of the "Pipeline plugin" introduces support for Declarative Pipeline syntax)** which presents a more simplified and opinionated syntax on top of the Pipeline sub-systems.
* [Building Declarative Pipelines with OpenShift DSL Plugin](https://www.openshift.com/blog/building-declarative-pipelines-openshift-dsl-plugin):
* **Jenkinsfiles have only become an integral part of Jenkins since version 2** but they have quickly become the de-facto standard for building continuous delivery pipelines with Jenkins. **Jenkinsfile allows defining pipelines as code using a Groovy DSL syntax** and checking it into source version control which allows you to track, review, audit, and manage the lifecycle of changes to the continuous delivery pipelines the same way that you manage the source code of your application.
* Although the **Groovy DSL syntax which is referred to as the scripted syntax** is the more well-known and established syntax for building Jenkins pipelines and **was the default when Jenkins 2 was released**, support for a **newer declarative syntax is also added since Jenkins 2.5** in order to offer a simplified way for controlling all aspects of the pipeline. Although the scripted and declarative syntax provides two ways to define your pipeline, they both translate to the same execution blocks in Jenkins and achieve the same result.
* The declarative syntax in its simplest form is composed of an agent which defines the Jenkins slave to be used for executing the pipeline and a number of stages and each stage with a number of steps to be performed.
#### Extending with Shared Libraries
- Shared-libraries are not recommended since more coding involves more maintenance issues. Use Declarative Pipelines as much as possible.
- [Extending with Shared Libraries 🌟](https://www.jenkins.io/doc/book/pipeline/shared-libraries/)

View File

@@ -10,6 +10,7 @@
- [Crossplane, a Universal Control Plane API for Cloud Computing. Crossplane Workloads Definitions](#crossplane-a-universal-control-plane-api-for-cloud-computing-crossplane-workloads-definitions)
- [Kubectl commands](#kubectl-commands)
- [Kubectl Cheat Sheets](#kubectl-cheat-sheets)
- [Debugging with ephemeral containers](#debugging-with-ephemeral-containers)
- [List all resources and sub resources that you can constrain with RBAC](#list-all-resources-and-sub-resources-that-you-can-constrain-with-rbac)
- [Copy a configMap in kubernetes between namespaces](#copy-a-configmap-in-kubernetes-between-namespaces)
- [Copy secrets in kubernetes between namespaces](#copy-secrets-in-kubernetes-between-namespaces)
@@ -21,6 +22,8 @@
- [Go Client for Kubernetes](#go-client-for-kubernetes)
- [Fabric8 Java Client for Kubernetes](#fabric8-java-client-for-kubernetes)
- [Helm Kubernetes Tool](#helm-kubernetes-tool)
- [Helm Charts repositories](#helm-charts-repositories)
- [Helm Charts](#helm-charts)
- [Lens Kubernetes IDE](#lens-kubernetes-ide)
- [Cluster Autoscaler Kubernetes Tool](#cluster-autoscaler-kubernetes-tool)
- [HPA and VPA](#hpa-and-vpa)
@@ -213,6 +216,9 @@
### Kubectl Cheat Sheets
* [Kubectl Cheat Sheets](cheatsheets.md)
### Debugging with ephemeral containers
* [kubesandclouds.com: Debugging with ephemeral containers in K8s (v1.18+)](https://kubesandclouds.com/index.php/2020/05/30/ephemeral-containers-in-k8s/)
### List all resources and sub resources that you can constrain with RBAC
* kind of a handy way to see all thing things you can affect with Kubernetes RBAC. This will list all resources and sub resources that you can constrain with RBAC. If you want to see just subresources append "| grep {name}/":
@@ -284,18 +290,21 @@ kubectl get secret <secret-name> --namespace=<source>-o yaml | sed s/names
* [dzone: do you need helm?](https://dzone.com/articles/do-you-need-helm)
* [dzone: managing helm releases the gitops way](https://dzone.com/articles/managing-helm-releases-the-gitops-way)
* [codefresh.io: Using Helm 3 with Helm 2 charts](https://codefresh.io/helm-tutorial/taking-helm-3-spin/)
* Helm Charts:
* [Jenkins](https://github.com/helm/charts/tree/master/stable/jenkins)
* [Codecentric Jenkins 🌟](https://github.com/codecentric/helm-charts/tree/master/charts/jenkins) Helm 3 compliant (Simpler and more secure than helm 2)
* [Nexus3](https://github.com/helm/charts/tree/master/stable/sonatype-nexus)
* [Choerodon Nexus3 🌟](https://hub.helm.sh/charts/choerodon/nexus3) Helm 3 compliant (Simpler and more secure than helm 2)
* [Sonar](https://github.com/helm/charts/tree/master/stable/sonarqube)
* [Selenium](https://github.com/helm/charts/tree/master/stable/selenium)
* [Jmeter](https://github.com/helm/charts/tree/master/stable/distributed-jmeter)
* [bitnami: create your first helm chart](https://docs.bitnami.com/kubernetes/how-to/create-your-first-helm-chart/)
* Helm Charts repositories:
* [hub.helm.sh 🌟](http://hub.helm.sh)
* [Bitnami Helm Charts](https://bitnami.com/stacks/helm)
* [banzaicloud.com: Helm 3, the Good, the Bad and the Ugly](https://banzaicloud.com/blog/helm3-the-good-the-bad-and-the-ugly/)
### Helm Charts repositories
* [hub.helm.sh 🌟](http://hub.helm.sh)
* [Bitnami Helm Charts](https://bitnami.com/stacks/helm)
### Helm Charts
* [Jenkins](https://github.com/helm/charts/tree/master/stable/jenkins)
* [Codecentric Jenkins 🌟](https://github.com/codecentric/helm-charts/tree/master/charts/jenkins) Helm 3 compliant (Simpler and more secure than helm 2)
* [Nexus3](https://github.com/helm/charts/tree/master/stable/sonatype-nexus)
* [Choerodon Nexus3 🌟](https://hub.helm.sh/charts/choerodon/nexus3) Helm 3 compliant (Simpler and more secure than helm 2)
* [Sonar](https://github.com/helm/charts/tree/master/stable/sonarqube)
* [Selenium](https://github.com/helm/charts/tree/master/stable/selenium)
* [Jmeter](https://github.com/helm/charts/tree/master/stable/distributed-jmeter)
* [bitnami: create your first helm chart](https://docs.bitnami.com/kubernetes/how-to/create-your-first-helm-chart/)
## Lens Kubernetes IDE
* [Lens Kubernetes IDE 🌟](https://k8slens.dev/) Lens is the only IDE youll ever need to take control of your Kubernetes clusters. It's open source and free. Download it today!

View File

@@ -90,7 +90,11 @@
* [github - using jenkins pipelines with OKD](https://github.com/openshift/origin/tree/master/examples/jenkins/pipeline)
### OpenShift Jenkins Pipeline (DSL) Plugin
* [Building Declarative Pipelines with OpenShift DSL Plugin 🌟](https://blog.openshift.com/building-declarative-pipelines-openshift-dsl-plugin/)
* [Building Declarative Pipelines with OpenShift DSL Plugin 🌟🌟](https://www.openshift.com/blog/building-declarative-pipelines-openshift-dsl-plugin):
* [Jenkins Pipeline Syntax: Scripted Syntax (Groovy DSL syntax) & Declarative Syntax 🌟](https://www.jenkins.io/doc/book/pipeline/syntax/) Declarative Pipeline is a relatively recent addition to Jenkins Pipeline **(Version 2.5 of the "Pipeline plugin" introduces support for Declarative Pipeline syntax)** which presents a more simplified and opinionated syntax on top of the Pipeline sub-systems.
* **Jenkinsfiles have only become an integral part of Jenkins since version 2** but they have quickly become the de-facto standard for building continuous delivery pipelines with Jenkins. **Jenkinsfile allows defining pipelines as code using a Groovy DSL syntax** and checking it into source version control which allows you to track, review, audit, and manage the lifecycle of changes to the continuous delivery pipelines the same way that you manage the source code of your application.
* Although the **Groovy DSL syntax which is referred to as the scripted syntax** is the more well-known and established syntax for building Jenkins pipelines and **was the default when Jenkins 2 was released**, support for a **newer declarative syntax is also added since Jenkins 2.5** in order to offer a simplified way for controlling all aspects of the pipeline. Although the scripted and declarative syntax provides two ways to define your pipeline, they both translate to the same execution blocks in Jenkins and achieve the same result.
* The declarative syntax in its simplest form is composed of an agent which defines the Jenkins slave to be used for executing the pipeline and a number of stages and each stage with a number of steps to be performed.
* [blog.openshift.com - Building Declarative Pipelines with OpenShift DSL Plugin](https://blog.openshift.com/building-declarative-pipelines-openshift-dsl-plugin/)
* [Dzone - Continuous Delivery with OpenShift and Jenkins: A/B Testing 🌟](https://dzone.com/articles/continuous-delivery-with-openshift-and-jenkins-ab)
* [docs.openshift.com: OpenShift 3.11 Pipeline Builds with OpenShift Jenkins Image and OpenShift DSL](https://docs.openshift.com/container-platform/3.11/dev_guide/dev_tutorials/openshift_pipeline.html)