Member-only story
How To Create a NoOps Deployment With GitHub Actions Kubernetes and Shipa
Discover the DevOps simplicity and reduce the Kubernetes complexity
NoOps trend is now possible thanks to public cloud and services that give us solution that works out of the box. Anyway, many of these services come with some limitations or have costs that explode with resource usage. That’s why a lot of developers still prefer solutions like Kubernetes for keeping control over the application and having full freedom for implementation. Anyway, Kubernetes governance is expensive and we aim to reduce the friction near the application development.
In this article, we will create a NoOps-like solution by using Shipa for managing Kubernetes and GitHub action to connect the source code directly with the server.
Set Up the Solution
For this article, I used Shipa. For those who aren’t used to it, Shipa is a platform for automating and simplifying the adoption of Kubernetes, making it smoother and simpler to use. In other words, thanks to Shipa you will only focus on the development part, not on the infrastructure issues. To learn more about this topic you can read my previous article DevOps is Dead Long Life to AppOps. The other player on the solution is GitHub, and I think they didn't need any introduction 😄Thanks to the GitHub Action we will set up a DevOps process in minutes.
To install and configure shipa, you can follow this tutorial.
First Run of the Application
The first step is to create an application. It can be done using the UI, or by the following code:
shipa app create python-sample\
-t shipa-admin-team \
-k shipa-framework
For this example, we created a Python application that simply prints the data that is sent to the URL. The code I used is the following. The template is omitted, and you can check it into the templates/index.html
file.