CI/CD for a Multi-Arch Golang Application Using GitHub Actions, Helm and Kubernetes

CI/CD for a Multi-Arch Golang Application Using GitHub Actions, Helm and Kubernetes

How to setup your CI/CD in a Cloud environment. In this article, we are going to configure GitHub Actions for linting, building, testing and releasing the Docker images of our Golang application. After doing so, we will create a Helm chart, push it to our Helm repository and deploy it to our Kubernetes cluster by using another GitHub Action.

Continuous Integration and _Continuous Deploymen_t pipelines are automated processes, part of de DevOps ecosystem, that can help you improve the quality of your software through its whole lifecycle and make production deployments in a more predictable and efortless way.

In this article, we are going to configure GitHub Actions for linting, building, testing and releasing the Docker images of our Golang application. After doing so, we will create a Helm chart, push it to our Helm repository and deploy it to our Kubernetes cluster by using another GitHub Action.

1. The Application

We will be working with Gotway, a lightweight API gateway written in Golang that allows you to expose your HTTP and gRPC services to the internet and provides out of the box features like health checking, service discovery and caching in Redis.

ci-cd-pipeline kubernetes github-actions docker helm

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

50+ Useful Kubernetes Tools for 2020 - Part 2

Our original Kubernetes tool list was so popular that we've curated another great list of tools to help you improve your functionality with the platform.

How To Setup a CI/CD Pipeline With Kubernetes 2020 - DZone DevOps

This article gives direction to getting your CI/CD pipeline up and running on the Kubernetes cluster by the GitLab CICD pipeline.

Working with GitHub Actions

GitHub launched GitHub Actions in beta which enabled developers to create automated workflows to build, test, and deploy their source code on GitHub. In this article, we will discuss about GitHub Actions and how it can be used to build an automated software development life-cycle workflow.

CI/CD pipeline integrating Kubernetes, Github and Jenkins

Kubernetes helps in managing the pods running by itself, hence we do not require to monitor the pods or do the load balancing part (Orchestration). It also provides us with a persistent volume feature that helps us make our data persistent.

CI/CD with Vue, Firebase Hosting and Github Actions

Even if you’re the only developer in a project, you still have to make sure you automate your deployment process and follow certain steps in order to prevent bugs sneak into production code. Writing tests is the first step of it. But then, running those tests everytime you make a change in the code is a time consuming process where you can benefit from some automation. This is where Github Actions come into play: How about creating a workflow in Github Actions which will run the tests for you when you make a pull request and won’t allow merging to master and deploying to production if the tests fail? That would really help with avoiding unintentional deployment of buggy code. Another important point is not forgetting to deploy your code into production when a pull request is merged to master. The Github workflow that we are going to create will also handle that by automatically deploying to Firebase Hosting when a pull request is completed. CI/CD with Vue, Firebase Hosting and Github Actions