Build and push Docker images using Tekton and Kaniko
Containerization has transformed the landscape of software development and deployment, with Docker being a popular choice for packaging applications into isolated containers. In Kubernetes environments, efficiently building and pushing Docker images is crucial for maintaining a streamlined development and deployment pipeline. In this blog post, I’ll explore how to achieve this using Tekton which is an open-source framework designed for building CI/CD systems that run on Kubernetes and...
Manage Kubernetes manifests for multiple environments using Kustomize
It can be difficult to navigate the complicated terrain of Kubernetes deployment across numerous contexts. However, with the powerful Kustomize tool at your disposal, you have the ability to easily and precisely manage Kubernetes manifests. In this investigation, we’ll look at how to use Kustomize to simplify configuration management, ensure smooth deployments, and preserve consistency across several environments. Join me as we explore the possibility of simpler Kubernetes manifest...
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...