#100DaysOfDevOps - Day Forty -One Today I wrapped up the final part of the Jenkins CI pipeline I’ve been building for my app over the last few days. This was a big one for me because I didn’t want to rush through it. I wanted to explore what each stage was doing, why it was needed, and what kinds of issues could happen along the way. The final result was a working CI pipeline that now does the following: ✅ checks out the source code ✅ runs backend lint testing ✅ builds frontend and backend Docker images ✅ scans the images for vulnerabilities ✅ pushes the images to Docker Hub For today’s final stage, I worked on: securely storing Docker Hub credentials in Jenkins referencing those credentials inside the pipeline authenticating to Docker Hub without hardcoding secrets pushing both application images to the remote registry confirming the pushed images directly from Docker Hub I also touched on post actions in Jenkins pipelines, especially around cleanup and logging out after the job completes. One thing that really stood out to me through this whole process: A complete CI pipeline is not built by trying to solve everything at once. It is built by creating a simple framework first, then improving it stage by stage. This pipeline took multiple attempts, many failed runs, and several fixes. But that is exactly what made the learning real. And honestly, that is one thing I’m appreciating more in this journey: sometimes the value is not just in the final success, but in understanding every error that got you there. YouTube Video Link: https://lnkd.in/dxDcjaf2 #DevOps #100DaysOfDevOps #Jenkins #CICD #ContinuousIntegration #Docker #DockerHub #Pipeline #Automation #PlatformEngineering #CloudEngineering #LearningInPublic #TechdotSam

To view or add a comment, sign in

Explore content categories