Create Jenkins Shared Library
In this article, we are going to learn how to create shared library in Jenkins. A shared library in Jenkins is a collection of Groovy scripts that are shared by several Jenkins jobs. The scripts are loaded into a Jenkinsfile before being executed. Shared libraries are used by developers to avoid rewriting the same code for many projects. Shared libraries allow code to be used between development projects, improving the software development life cycle. This significantly reduces coding time...
Automating Helm chart packaging and publishing to GitHub pages using GitHub Action
One of my previous article, I have explained how to publish Helm chart to GitHub pages. But in that tutorial Helm chart packaging and publishing to GitHub pages are done manually. But it's a time consuming process. So in this article I will explain how to automate Helm chart packaging and publishing to GitHub pages using GitHub Actions. This will save your time and effort. Let's get started. Prequsites GitHub repo with Helm chart GitHub Pages enabled Create Helm chart Now you need to...
Deploy application using Jenkins & ArgoCD
In this article, we are going to learn how deploy a NodeJS application to Kubernetes using GitOps way by using Jenkins & ArgoCD. We will use Jenkins to checkout the code from repo, build the Docker image, push it to Docker Hub & to update Kustomize manifest in different repo. Then we will use ArgoCD to deploy the application to Kubernetes. In this project we will use two repositories. One for the application code & the other for the Kustomize manifest. Let's start. Prerequisites A GitHub...
Automating Java Springboot CI using Jib Gradle & GitHub action
In our previous article, we learned how to dockerize your Java Springbot project using Jib and Gradle plugin. But in that we have to manually build the docker image and push it to the docker hub. In this article we are going to learn how to automate this manual process using GitHub action. Prerequisites A GitHub repository containing your Java project with Gradle as the build tool A Docker Hub account Initalize the GitHub Action Workflow Naviagte to your local project directory and...
Dockerizing Java Springboot application using Jib and Gradle plugin
In this article, we are going to learn how to dockerize your Java Springboot project using Jib and Gradle plugin. Jib is a Google open-source Java containerizer that allows Java developers to construct containers using their existing build tools. Jib is a quick and easy container image builder that handles all of the procedures involved in packaging your application as a container image. It does not need the creation of a Dockerfile or the installation of Docker, and it is immediately...
How to use multiple remote repositories with git
In this article, we are going to learn how to use multiple remote repositories with git. Git is a distributed version control system. Git is a free and open-source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. When it comes to SCM providers there are many options available. Some of them are GitHub, GitLab, BitBucket, etc. In this article, we are going to learn how to use these three SCM providers with single...
Publish Helm chart using GitHub pages
In this article, we are going to learn how to create Helm repository using GitHub pages to publish your Helm chart. Helm helps you to manage Kubernetes applications. Helm uses a packaging format called charts. A chart is a collection of files that describe a related set of Kubernetes resources. A single chart might be used to deploy your application to multiple environments such as test, staging, and production using a different set of values for each environment. Create GitHub...
Install Kubernetes External DNS on AWS EKS
In this article, we are going to learn how to setup external dns in your cluster. External DNS helps you to automatically manages the DNS records of your ingresses and services, saving you so much time!. In a nutshell, external DNS is a pod that runs in your EKS cluster and monitors all of your ingresses. When it detects an ingress with a defined host, it automatically retrieves the hostname as well as the endpoint and generates a record in Route53 for that resource. If the host is updated...
How to clone a private Git repository in Tekton pipeline
In this article, we are going to learn how to clone a private Git repository in Tekton pipeline using SSH. In here we are using GitHub as the Git repository and we are going to use a SSH key to authenticate with the GitHub repository. Let's get started. Generate SSH key First, we need to generate a SSH key pair. We can do that by using the following command. 1ssh-keygen -t rsa -b 4096 -C "[email protected]" This will ask some questions like passphrase and location to save key...
Add authentication to Tekton dashboard
In this article, we are going to learn how to enable authentication to your Tekton dashboard using OAuthProxy2 and GitHub. By default Tekton dashboard doesn't have any authentication. So we are going to add authentication to our Tekton dashboard. Let's get started. Prerequisite A running ingress controller in your cluster In here we are going to use Ngix Ingress Controller. If you don't have Ngix Ingress Controller in your cluster, you can follow this article to install Ngix...