#100DaysOfDevOps - Day Forty - Six Today I continued working on the GitHub Actions version of my CI pipeline. The focus was on moving from the workflow skeleton into actual execution, one stage at a time, while testing and troubleshooting along the way. What I worked on today: ✅ created the .github/workflows/ci.yaml file ✅ pushed it to GitHub and confirmed the workflow was triggered ✅ verified that the checkout stage worked ✅ observed how GitHub Actions provisions a runner automatically ✅ added the backend test stage ✅ set up Python on the runner ✅ installed pip ✅ confirmed the backend test/lint stage ran successfully After that, I moved into the image build stage and started setting up: Docker-related steps GitHub secrets for Docker authentication environment variables for image names and tags That part came with multiple errors, including: wrong field names wrong action version invalid Docker tag formatting mismatched secret references And honestly, I’m glad it happened that way. Because one thing this journey keeps reinforcing is: CI/CD is not learned by only watching clean demos. It is learned by writing, testing, failing, correcting, and understanding why the workflow failed. So even though the image build stage is still being resolved, today still felt like strong progress because the earlier stages are now working, and the workflow is taking shape properly. Big takeaway: The deeper skill is not avoiding errors, it is learning how to read them and move forward with clarity. YouTube Video Link: https://lnkd.in/eDVKJz8d #DevOps #100DaysOfDevOps #GitHubActions #CICD #ContinuousIntegration #Docker #Automation #GitHub #YAML #PlatformEngineering #CloudEngineering #LearningInPublic #TechdotSam
More Relevant Posts
-
CI/CD shouldn’t be this annoying. Yet somehow, every time I start a new repo, I end up: • rewriting the same GitHub Actions workflows • copying YAML from old projects (and hoping it still works) • debugging pipelines that fail for non-obvious reasons • dealing with slightly different setups across repos • spending more time maintaining pipelines than shipping code None of these are hard problems — just repetitive ones that add up. So I started putting together NERV-Actions. The goal isn’t to reinvent CI/CD. It’s to remove the friction: a small, reusable set of actions that makes pipelines more consistent, easier to plug in, and less painful to maintain. Still a work in progress, but it’s already reducing a lot of the “why is this pipeline different again?” moments. If this sounds familiar, you can check it out here: 👉 https://lnkd.in/gXJJNxTr Curious if others are feeling the same pain with GitHub Actions. #GitHubActions #CICD #DevOps #SoftwareEngineering
To view or add a comment, sign in
-
#100DaysOfDevOps - Day Forty - Eight Up until now, I had been tagging my Docker images in GitHub Actions using the workflow run number. It worked, but I wanted something more meaningful and more traceable. So today I moved toward using the Git commit hash as the image tag. What I worked on today: ✅ revisited why image tagging strategy matters ✅ moved from using the workflow run number to using github.sha ✅ explored GitHub Actions contexts and built-in variables ✅ checked commit hashes from both GitHub and git log ✅ learned why the full commit hash is too long to use directly ✅ extracted only the first few characters of the hash ✅ stored that shortened value as a workflow variable ✅ reused that variable across the image build, scan, and push stages ✅ observed how GitHub Actions automatically cleans up the runner after execution A better CI pipeline is not only about making it run but also about making its outputs easier to understand, track, and roll back when needed. I did hit another issue near the end around the backend image reference format, so there is still a bit of troubleshooting to finish. But overall, this was a strong step toward making the workflow more production-friendly. YouTube Video Link: https://lnkd.in/eM458884 #DevOps #100DaysOfDevOps #GitHubActions #Docker #ImageTagging #CICD #ContinuousIntegration #GitHub #Automation #CloudEngineering #LearningInPublic #TechdotSam
To view or add a comment, sign in
-
⚙️ #PythonJourney | Day 158 — CI/CD: Automation That Saves Lives Added GitHub Actions to the project. Now every push runs tests automatically. If something breaks, I know immediately. If it passes, I have confidence to deploy. 14 tests running in 44 seconds. Green or red. No surprises. What I learned: → CI/CD isn't optional, it's essential → Catching bugs early beats finding them in production → Automated testing gives peace of mind → GitHub Actions is simple but powerful It's simple, but it changes everything. #DevOps #GitHub #CI #CD #Automation #Backend #Testing
To view or add a comment, sign in
-
-
Episode 4 of Deploy or Die is live. Topic: How to build a GitHub Actions workflow that does the work you hate. What the workflow does: → Triggers on any version tag push → Generates release notes automatically using Claude (EP001 pattern) → Creates the GitHub release in one step → Posts a Slack notification with the release name Total runtime: under 2 minutes. Zero manual steps. Two bonus patterns covered: → Scheduled workflows — dependency PRs waiting every Monday morning → Reusable workflows — define once, used by every repo in your org automatically The full YAML is on GitHub. Drop it in your repo and adapt it. The hard part is done. 🎥 Watch: https://lnkd.in/gHvx2uES 📩 Read: https://lnkd.in/gC373ECt #DevOps #GitHubActions #CICD #ReleaseEngineering #DeployOrDie
To view or add a comment, sign in
-
CI/CD sounds fancy. It's actually just a robot that checks your code before it ships. Let me break it down: 𝐂𝐈 = 𝐂𝐨𝐧𝐭𝐢𝐧𝐮𝐨𝐮𝐬 𝐈𝐧𝐭𝐞𝐠𝐫𝐚𝐭𝐢𝐨𝐧 Every time you push code → automated tests run → you know instantly if something broke. 𝐂𝐃 = 𝐂𝐨𝐧𝐭𝐢𝐧𝐮𝐨𝐮𝐬 𝐃𝐞𝐥𝐢𝐯𝐞𝐫𝐲/𝐃𝐞𝐩𝐥𝐨𝐲𝐦𝐞𝐧𝐭 If tests pass → code automatically deploys to your server. No manual uploads, no FTP nightmares. A real example from my projects: 1. I push a branch 2. GitHub Actions runs my tests (2 mins) 3. If green → it merges and deploys 4. If red → I fix before it ever touches production Why does this matter for CS students? → Companies use CI/CD everywhere → Having it on your GitHub projects signals seniority → It saves you from embarrassing bugs in demos or interviews You can set up a basic GitHub Actions pipeline in under 30 minutes. I'll share mine next week. Are you using any CI/CD tools in your personal projects right now? #CICD #DevOps #GitHubActions #CSStudents #SoftwareEngineering
To view or add a comment, sign in
-
-
#100DaysOfDevOps - Day Forty - Four After completing a full Jenkins-based CI pipeline over the last few days, I wanted to take time to talk about GitHub Actions properly before jumping into writing workflows. Today was more about concepts and structure than hands-on work. What I covered: ✅ what GitHub Actions is ✅ why it is one of the most popular CI tools today ✅ how it compares to Jenkins ✅ why GitHub Actions feels simpler when your code already lives in GitHub ✅ why Jenkins is still valuable because it can work across multiple platforms ✅ the role of: GitHub Actions documentation GitHub Marketplace ✅ GitHub Actions concepts like: workflow job runner secrets triggers One thing that really stood out to me today is that the core ideas behind CI tools are usually not different. A lot of the time, what changes is the naming, the interface, the level of setup required, etc. So in many ways, learning Jenkins first made GitHub Actions easier to understand, because I could already recognize the same ideas under different names. When you understand the concept deeply, moving between tools becomes much easier. YouTube Video Link: https://lnkd.in/eBpD3YHN #DevOps #100DaysOfDevOps #GitHubActions #Jenkins #CICD #ContinuousIntegration #Automation #GitHub #PlatformEngineering #CloudEngineering #LearningInPublic #TechdotSam
To view or add a comment, sign in
-
Today I learned Basic Workflow Trigger: GitHub Actions Most CI/CD tools feel like you need a PhD to configure them. GitHub Actions is different. It lives right inside your repo, and the setup is just a YAML file. That's it. Here's the theory behind it: GitHub Actions is an automation platform built into GitHub. Every time something happens in your repo — a push, a pull request, a merge — it can trigger a workflow. A workflow is a sequence of jobs that run on virtual machines called runners. The mental model: event → trigger → jobs → steps → actions. The simplest real trigger looks like this: on: push: branches: [ main ] pull_request: branches: [ main ] This tells GitHub: "Run my workflow whenever someone pushes to main OR opens a pull request targeting main." From there you define jobs — install dependencies, run tests, deploy. All automated. All logged. All free for public repos. Why it matters: → No more "it works on my machine" → PRs get automatically tested before merging → Your team gets instant feedback on every change → You build the habit of shipping with confidence I went from zero to a working CI pipeline in under an hour. If you haven't tried it yet — today is a good day to start. What was your first GitHub Actions workflow? Drop it below #GitHubActions #DevOps #CICD #LearnInPublic #100DaysOfCode #Automation #SoftwareEngineering #GitHub #OpenSource #WebDevelopment
To view or add a comment, sign in
-
-
Building CI/CD with GitHub Actions: Why It’s a Game Changer 🚀 Stop me if this sounds familiar: You spend hours coding a new feature, push it to production, and—boom—everything breaks because of a small environment mismatch or a forgotten test. We’ve all been there. That’s why a solid CI/CD pipeline isn't just a "nice-to-have" for DevOps enthusiasts anymore; it’s the backbone of professional software engineering. Lately, I've been leaning heavily into GitHub Actions, and here’s why it’s winning: Why GitHub Actions? 🛠️ • Native Integration: No need to manage external servers or third-party plugins. Your automation lives exactly where your code does. • YAML-Based Workflow: Defining a pipeline is as simple as writing a .yml file. It’s version-controlled, readable, and easy to tweak. • The Marketplace: From deploying to AWS/Azure to running specialized security scans, someone has likely already built an "Action" for it. The Real Value 💎 It’s not just about "deploying fast." It’s about: 1. Confidence: Running your test suites on every pull request means catching bugs before they hit the main branch. 2. Consistency: Eliminating "it works on my machine" syndrome. 3. Speed: Automating the repetitive stuff so we can focus on building what actually matters. Whether you're working on a small React project or a massive Java microservice architecture, automating your workflow is the best gift you can give your future self. What’s your go-to tool for CI/CD? Are you Team GitHub Actions, or do you prefer Jenkins/GitLab? Let’s chat in the comments!👇 #SoftwareEngineering #DevOps #GitHubActions #CICD #Automation #WebDevelopment #CodingLife
To view or add a comment, sign in
-
-
Day 21 & 22 of #90DaysOfDevOps ✅ 𝐆𝐢𝐭 + 𝐆𝐢𝐭𝐇𝐮𝐛 & 𝐃𝐨𝐜𝐤𝐞𝐫 - revision and going deeper. 🔁 Revisited the fundamentals, then pushed further into what actually matters at an industry level. 𝐆𝐢𝐭 & 𝐆𝐢𝐭𝐇𝐮𝐛: Branch protection rules, CODEOWNERS, Dependabot, GitHub's built-in secret scanning and CodeQL. Also covered Git internals - blobs, trees, packfiles, reflog - and the difference between Gitflow and trunk-based development. 𝐃𝐨𝐜𝐤𝐞𝐫: Docker networking (bridge, host, overlay, user-defined), Docker Scout for CVE scanning and SBOM generation, image optimisation with multi-stage builds, container security hardening (non-root, capability dropping, resource limits), and image signing with Cosign. Key takeaway: revision isn't just repetition - it's the layer where fundamentals turn into production knowledge. #90DaysOfDevOps #DevOpsKaJosh #TrainWithShubham #Git #GitHub #Docker #DevSecOps #DevOps
To view or add a comment, sign in
-
-
We cut our deployment time from 47 minutes to 9 minutes using GitHub Actions. Here is what actually moved the needle. Not the flashy stuff. The boring stuff. 1. We stopped running the full test suite on every commit. Using pytest -k with changed-file detection, we ran only relevant tests. Saved ~11 minutes immediately. 2. We parallelised Docker layer caching properly. We were using cache, but pulls were still sequential in our workflow. Fixing that shaved off another 6–7 minutes. 3. We removed a manual approval gate that had been sitting in our pipeline since a production incident in 2022. No one on the team of 5 engineers could explain why it still existed. 4. We built a shared base image for our microservices instead of each service installing the same ~350MB of dependencies separately. The bottleneck in your pipeline is almost never where you think it is. Profile it first. Then fix it. What is the biggest time sink in your current pipeline? #CICD #DevOps #PlatformEngineering #GitHubActions #Docker
To view or add a comment, sign in
Explore related topics
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development