Building the CI/CD of the Future, create your first pipeline in Jenkins
This is the last post of the tutorial in which I will describe how to configure Jenkins Kubernetes plugin and how to create your first pipeline.
This is the last post of the tutorial in which I will describe how to configure Jenkins Kubernetes plugin and how to create your first pipeline.
This is the fifth post of the tutorial in which I will describe how to install Jenkins with helm, configure it, use a persistent volume, and do daily Jenkins backups.
I am building a new CI/CD pipeline based on Kubernetes and Jenkins. Recently I was dealing with the existent backup mechanism for Jenkins which stopped to work and I was in need of another solution. In this post, I will share my solution.
This is the fourth post of the tutorial in which I will describe how to add NGINX Ingress and Cert-Manager to the EKS cluster we created in the previous posts.
This is the third post of the tutorial in which I will describe how to add Cluster Autoscaler to the EKS cluster we created in the previous post.
This is the second post of the tutorial in which I will describe how to create the EKS cluster based on VPC we created in the previous post.
I am building a new CI/CD pipeline based on Kubernetes and Jenkins. Recently I integrated Elastic Container Registry with our CI/CD based on Jenkins. In this guide, I will share the knowledge on this topic.
This is the first post of tutorial in which I will describe how to create VPC for EKS cluster of our CI/CD based on Jenkins.
In this tutorial, I will share my experience of creating a CI/CD on Kubernetes (AWS EKS) and using the Jenkins and spot instances as worker nodes of the cluster.
I am building a new CI/CD pipeline based on Kubernetes and Jenkins. Recently working on one of the workflows I was in need to build artifacts (executables) on windows, and you can run pods(containers) with windows based images only on windows worker nodes. I will share my experience in this post about how to add windows worker nodes to your EKS cluster and then run windows workflows on the top of it.
As a DevOps engineer I am partially involved in migration of CicrleCI workflows to Jenkins on Kubernetes. In this article, I will try to share my knowledge on this topic and I hope it will be useful to you.
I am building a new CI/CD pipeline based on Kubernetes and Jenkins, I am also migrating jobs from CircleCi to Jenkins and one of the things I liked in CircleCI is the status returned to Pull request on Github for every stage of the pipeline. This is how it looks like As you can see for each stage: build / build-rpm / docs / size / test CircleCI returns status, meaning status per stage. Looks good, but how can you implement this kind of behavior in Jenkins with the multibranch pipeline? Struggling to find the answer to these questions I came up with this solution, which I will showcase in this post.
I am building a new CI/CD pipeline based on Kubernetes and Jenkins. I store my secrets in the vault and in this article I will describe my experience with the integration of vault into a Jenkins pipeline.
In this tutorial, I will show how to: Use OpenID Connect within your Github workflows to authenticate with Amazon Web Services and how to Improve the security of ‘EC2 provisioning’ workflow
In this tutorial, I will show how to Trigger Github Actions Workflow using PR comments like ‘/format’ (ChatOps)
In this tutorial, I will show how to Run self-hosted runners with Github Actions on AWS spot instances and Dynamically add/remove resources to your k8s cluster by Karpenter.
In this tutorial, I will show how to Deploy Actions Runner Controller (ARC) to Kubernetes and connect it with your GitHub repo and Scale automatically your self-hosted runners count up to the total number of pending jobs in queue.
In this tutorial, I will show how to Deploy self-hosted-runner to Kubernetes and connect it with your GitHub repo and Redeploy Nginx server on your k8s cluster with every change in nginx/deployment.yaml, which pushed to Github repo.
In this tutorial, I will create simple and practical example of how to provision EC2 instance with Github Actions and Terraform. I will use workflow_dispatch type of workflow which is triggered manually by user, using Terraform Github action from HashiCorp.
I recently worked on the performance issue, which was solved by caching and I will describe below example of the solution which I came to.
In this post I will describe how to create simple ‘hello world’ app with sinatra and deploy it using google clouds platform.
In previous posts I talked about Handling RabbitMQ publisher failures and Splitting your app into smaller apps using RabbitMQ. Now it’s time to talk about consumer failures handler.
In a previous post I wrote about Splitting your app into smaller apps using RabbitMQ, talked about the basics, gave an example of code to create basic publisher and consumer with bunny and sneakers and how to connect all pieces together.
After many years of development, we realized our app had become too complex, causing development, testing and debugging to be much harder. We decided to do something about it and the first step needed to solve this problem was splitting our app into smaller apps—starting with extracting the messaging mailer, which is responsible for sending all our messages to clients as a separate app. For this purpose, RabbitMQ was chosen as a broker.
The purpose of this tutorial is to deploy a ‘simple’ application to EKS Fargate. In this tutorial, I will try to be practical as possible and deploy ‘httpbin’ application to EKS Fargate.
In this post, I will share my thoughts on how to properly set requests and limits for your workloads on Kubernetes.
The main purpose of this post is to share my knowledge related to Calico CNI installation to the already existing EKS cluster and the creation of Network Policies to secure the cluster.
I am working on the creation of the Production Kubernetes (EKS) cluster with all needed mechanisms for our SaaS, including the TLS certificates issuing for secure communication to and within the k8s cluster. In this tutorial, I will show how to secure external and internal traffic coming to your application on the Kubernetes cluster by issuing the TLS certificates with the Cert-Manager.
In previous posts I talked about Handling RabbitMQ publisher failures and Splitting your app into smaller apps using RabbitMQ. Now it’s time to talk about consumer failures handler.
In a previous post I wrote about Splitting your app into smaller apps using RabbitMQ, talked about the basics, gave an example of code to create basic publisher and consumer with bunny and sneakers and how to connect all pieces together.
After many years of development, we realized our app had become too complex, causing development, testing and debugging to be much harder. We decided to do something about it and the first step needed to solve this problem was splitting our app into smaller apps—starting with extracting the messaging mailer, which is responsible for sending all our messages to clients as a separate app. For this purpose, RabbitMQ was chosen as a broker.
Today I will show you how you can gather information about WordPress by loading and analyzing a single page; and then, based on this knowledge we will create script to automate the entire process.
How to getadmin password for wordpress using XML-RPC API and brute force attack?
I started preparation for the CKA Kubernetes exam. In this series, I will share some exercises I find useful during my preparation in order to help you better prepare for the CKA exam. I will gather all exercises in my github account, clone this repo to get all exercises at once. This post with more advanced exercises for Network Policy and based on application with multiple tiers and separated by namespaces.
I started preparation for the CKA Kubernetes exam. In this series, I will share some exercises I find useful during my preparation in order to help you better prepare for the CKA exam. I will gather all exercises in my github account, clone this repo to get all exercises at once. This post with exercises for Network Policy and based on example of 3 tier application which deployed to same namespace.
I will share in this post my experience related to automation of Vault backup creation using Kubernetes CronJob. This post is a continuation of the previous post
I will share in this post my experience related to automation of Vault backup creation using Jenkins scheduled job and simple python script which I built to create dump of vault secrets.
In this post I will describe how to create simple ‘hello world’ app with sinatra and deploy it using google clouds platform.
I recently worked on the performance issue, which was solved by caching and I will describe below example of the solution which I came to.
Problem definition Running migration which adds column to a table which has a couple million of records may be problematic, because of lock of this table during migration. Let’s say it not only may be problematic - it was problematic, because of this problem our server was down for a couple of minutes and SQL server was restarted, so to solve this problem we using ‘LHM’ gem - Large Hadron Migrator
I am working on the migration of the CaaS (Cloudify as a Service) solution to Kubernetes (EKS), which includes monitoring of multiple critical endpoints with Prometheus/Grafana. I will describe in this post how to do it using Prometheus Operator/Grafana and BlackBox exporter
In this tutorial, I will show how to secure ‘system‘ namespaces in EKS cluster by user access.