I haven't had experience working with a full CI/CD pipeline yet so I thought I would build a "Hello, World!" one. I realise CI/CD is a complex subj...
For further actions, you may consider blocking this person and/or reporting abuse
Welcome to CI / CD!
To me this looks like a great list. Few things that I would add:
Lately I've been trying to land a DevOps job (I'm a Build/Release Engineer) but since I have no "production experience" with tools like Docker/Kubernetes/AWS I've been turned down a lot. This project would be an excellent way to have something to show that I'm familiar with the tools.
Thank you for all your great suggestions! I will try to work them in to my project.
This sounds like a great plan!
I would go like this:
Start developing a Hello World app
Publish it to source control
Create a Kubernetes cluster
Create a build pipeline that builds, tests, packages it in a container, pushes your app to a container registry
Create a deployment pipeline that deploys the container to the Kubernetes cluster
Later you can add more apps to your pipeline and change to a private container registry to mimic the real world.
I have done sort of the same with Gitlab, Jenkins, a local Kubernetes cluster and an Azure Kubernetes cluster. The hardest part was linking Gitlab with Jenkins. Also, Jenkins is a very powerful beast once you get the hang of scripted pipelines and shared libraries!
But you could also use Azure Devops using their free pipeline and Git offering, so without Gitlab and Jenkins to make it simple in the beginning.
Thanks for the advice! Cheers.
I hope that you post progress on this. I am exactly after the same thing. I made a list of my own and very much overlaps with yours.
What I am thorn about is either on looking at a cloud provider (like you mentioned Azure) or just run everything in my Mac (some challenges setting it all up). This is great! thanks for the posting the idea.
Have you looked into gitlab and gitlab runners?
Second GitLab cicd. It's a great, easy to start service.
No I haven't. I will look into it. Thanks for the suggestion!
Try using Jenkins X instead of Jenkins. It's designed for a kubernetes deployment.
Thanks for the tip. I didn't know about Jemkins X! I was hoping to find an official docker image for it on docker hub but couldn't. I did find an unofficial one though!
Here is a simple YAML-based build pipeline for a Python project:
github.com/francisco-ltech/transfo...
Hope that helps with the CI bit.
Thanks. I can't seem to get the link to work though?
Sorry I forgot to make the repo public, should be accesible now.
Try Codefresh, it has a generous free tier with unlimited builds and uses ultra-modern container-based pipelines with a brilliant caching system.
I think you'll be pleasantly surprised 😄