🚀 Day 26 of #90DaysOfDevOps |: Mastering the GitHub CLI (gh) Efficiency is the name of the game in DevOps. Today, I stepped away from the web UI and moved my workflow entirely into the terminal using the GitHub CLI. While many of us are used to standard git commands, gh takes it a step further by allowing us to manage the entire GitHub ecosystem (Issues, PRs, Actions) without leaving the command line. 🔑 Key Takeaways from Day 26: ♦️ Seamless Authentication: Explored how gh auth handles everything from Web-based logins to Personal Access Tokens (PATs) for automated environments. ♦️ PR Management: Learned to checkout, diff, and merge Pull Requests directly from the terminal. My favorite? gh pr checkout <number>—it saves so much time when reviewing a teammate's code. ♦️Automation Power: Realized the potential of gh issue for CI/CD. Imagine a Jenkins build failing and automatically triggering a GitHub Issue with the error logs attached. That's true "Ops" in DevOps. 🛠️ Why use CLI over GUI? Speed: No more hunting through menus. Scriptability: You can bake GitHub actions into your local bash scripts. Focus: Stay in your IDE/Terminal flow. GitHub : https://lnkd.in/g44eYvdQ #90DaysOfDevOps #DevOpsKaJosh #TrainWithShubham
Mastering GitHub CLI for DevOps Efficiency
More Relevant Posts
-
#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
-
We just reinvented how our team does GitOps..!! At Next Phase Solutions and Services, Inc., we built a custom GitHub Power inside Kiro IDE a fully integrated, MCP-powered bridge between your development environment and your GitHub. What does that mean in practice? ✅ Pull requests, branch management, and code reviews directly from your IDE ✅ Automated GitOps triggers without context-switching to the browser ✅ AI-assisted workflows that understand your repo structure, not just your prompt ✅ Creates entire GitHub Actions workflows from scratch ✅ All of this through natural language, no Git commands, no syntax to remember, just tell it what you want to get done in plain English. The result? Our developers spend less time managing Git overhead and more time building. DevOps efficiency isn't just about CI/CD pipelines and infra automation anymore. It's about collapsing the distance between intent and execution — and that starts at the IDE layer. This is Next Phase innovation in action, we took Kiro's MCP architecture and turned it into a production-ready GitHub Power. Next Phase Solutions and Services, Inc. #GitOps #DevSecOps #AIGitOps #Kiro #GitHub
To view or add a comment, sign in
-
I broke GitOps in one day — and it taught me more than 6 months of reading. Here's the honest story: —— 3 MISTAKES —— ❌ Applied Kubernetes manifests directly with kubectl and never committed to Git. ArgoCD couldn't find my k8s/ folder — it only existed on my machine, not in the repo. ❌ My ECR secret expired after 12 hours. Pods couldn't pull images at 2 am. Nobody was awake to fix it. Built a CronJob to refresh it automatically every 6 hours — problem solved permanently. ❌ The CronJob crashed with "forbidden" errors. The default service account had zero permissions. Had to build a full RBAC setup — ServiceAccount, Role, RoleBinding — to manage one secret. Least privilege isn't optional in production. —— 4 LESSONS —— • kubectl apply and git push are NOT the same thing — one updates the cluster, the other updates the truth • Git is the only door to production — not the console, not a hotfix, not a Slack message • RBAC protects teams from themselves — scoping permissions tightly makes systems safer and easier to audit for everyone • ArgoCD doesn't just deploy — it watches, detects drift and self-corrects automatically —— 3 REAL PROBLEMS THIS SOLVES —— → "Who changed that?" — Every change is a git commit. Audit trail is automatic. → "How do we roll back?" — revert the commit, ArgoCD reverts the cluster. → "The cluster drifted again" — selfHeal: true means ArgoCD corrects any manual change that bypasses Git. The result: 12 healthy resources — Deployment, Service, CronJob, RBAC — all synced, all green, all traceable to a git commit. No manual deployments. No 3 am surprises. No "it worked on my machine." This is the kind of infrastructure that makes teams move faster and sleep better. Prometheus and Grafana are next. 🔗 https://lnkd.in/e654B7F7 A self-hosted endpoint monitoring platform built end-to-end with Docker, GitHub Actions, Kubernetes, ECR and ArgoCD. Open source. Real pipeline. No fluff. #DevOps #GitOps #ArgoCD #Kubernetes #CICD #AWS #CloudEngineering #LearningInPublic
To view or add a comment, sign in
-
-
🚀 DevOps Journey – Day 17 / 100 Today I learned a real-world Git scenario that every developer faces 🔥 ⸻ 🔹 🔐 Git with SSH (Secure Way) • Generate SSH key → ssh-keygen • Add public key to GitHub SSH settings • Use SSH URL instead of HTTPS 👉 git remote add origin <SSH_URL> 👉 git push origin branchname 💡 No more entering username/password every time! ⸻ 🔹 ⚙️ Basic Config (Recap) • git config --global user.name "yourname" • git config --global user.email "youremail" ⸻ 🔹 📏 Sigma Rule of Git (Golden Rule) 👉 Always PULL before PUSH ⚠️ ⸻ 🔹 🔥 Real-Time Scenario (Important) 1️⃣ Change a file directly in GitHub 2️⃣ Commit changes in GitHub 3️⃣ Now from Local: • Modify same file • Try git push ❌ → ERROR 👉 Why? Because local repo is outdated ⸻ 🔹 🛠️ Solution ✔️ First try: git pull ❌ Still conflict? 👉 Fix using: • git reset --soft HEAD~1 • git stash • git pull • git stash apply • Resolve conflicts • git push ✅ ⸻ 🔹 🔀 GitHub Merge • Use Compare & Pull Request • Review changes • Merge safely into main branch ⸻ 💡 Pro Tip: Most Git errors happen due to not pulling latest changes Follow the rule → Pull → Modify → Push Consistency makes you industry-ready 💪 #DevOps #Git #GitHub #Linux #VersionControl #100DaysOfDevOps #LearningJourney #Cloud #Automation #RealTimeScenario #frontlinesedutech #flm #frontlinesmedia #MultiCloudDevops
To view or add a comment, sign in
-
-
🚀 Day 23 of #90DaysOfDevOps Today I explored one of the most powerful concepts in Git — Branching. What I practiced today: • Understanding Git branches and HEAD • Creating and switching branches • Working with feature branches (feature-1, feature-2) • Pushing branches to GitHub • Learning the difference between clone vs fork • Understanding git fetch vs git pull Branching is essential because it allows developers to work on features independently without breaking the main codebase. Step by step building my DevOps foundation and improving my Git workflow. Day-23 GitHub Link 👇 https://lnkd.in/gBa3qw7j #DevOpsKaJosh #trainwithshubham #Git #Github #DevOpsJourney #90DaysOfDevOps
To view or add a comment, sign in
-
🚀 Day 5/7 – Git & GitHub Journey | Debugging & Restore Power Today was all about fixing mistakes in Git like a pro 🔥 Because real developers don’t just write code… they debug & recover smartly. 💡 Focus: Git Debugging & Restore Commands Mistakes are common: ❌ Wrong file changes ❌ Accidental commits ❌ Deleted important files 👉 Today I learned how to fix ALL of these using Git itself. ⚙️ Practical Tasks I Performed: ✅ 1. Checked file changes Used git status and git diff Understood staged vs unstaged changes ✅ 2. Restored modified files git restore filename 👉 Reverted file back to last committed state ✅ 3. Unstaged files git restore --staged filename 👉 Removed file from staging area ✅ 4. Undo last commit (without losing code) git reset --soft HEAD~1 ✅ 5. Completely discard changes git checkout -- filename (older way) 🧠 Key Learning: Git is not just version control… It’s a complete recovery system if you know the right commands 💪 🔥 Real DevOps Insight: In real projects, mistakes happen frequently. Knowing how to debug and restore safely saves time, code, and production issues. 📂 Skills Gained: Git Debugging 🔍 Code Recovery ♻️ Safe Commit Handling Better Development Workflow #Day5 #Git #GitHub #DevOps #Debugging #LearningInPublic #Automation #AWS #Cloud #DevOpsJourney
To view or add a comment, sign in
-
-
📘 #100DaysOfDevOps – Day 12 (GitHub – Day 3) Today I learned about Merge Conflicts in Git and how to resolve them ⚔️ Merge conflicts happen when multiple changes are made to the same file/line in different branches, and Git is unable to decide which change to keep. --- 🔹 When do Merge Conflicts occur? • Same file edited in multiple branches • Same line modified differently • While merging branches --- 🔹 Example of Conflict <<<<<<< HEAD Hello from main branch ======= Hello from feature branch >>>>>>> feature-1 --- 🔹 How to Resolve Conflict 1️⃣ Open the conflicted file 2️⃣ Choose correct changes (or combine both) 3️⃣ Remove conflict markers ("<<<<<<", "======", ">>>>>>") 4️⃣ Add and commit changes git add file.txt git commit -m "Resolved merge conflict" --- 🔹 Useful Commands Check status "git status" Abort merge "git merge --abort" --- 🔹 Best Practices • Pull latest changes before working • Work on separate branches • Keep commits small and clear --- 💡 Key Learning: Handling merge conflicts is an essential skill for collaboration and maintaining clean code in real-world DevOps projects. Learning something new every day 🚀 #100DaysOfDevOps #DevOps #Git #GitHub #LearningInPublic
To view or add a comment, sign in
-
-
🔥 Git & GitHub — Every DevOps Engineer's Best Friend! Today I learned Git from scratch and pushed my FIRST code to GitHub! 🎊 Here's what I learned: Git = Version control tool GitHub = Cloud for your code Like Microsoft Word's "Track Changes" but 1000x more powerful! 💪 CORE WORKFLOW: git init → Start tracking a project! git status → Most used command! → See what changed! git add . → Stage all changes! git commit -m "message" → Save a snapshot! 📸 → Like a checkpoint in a video game! 🎮 git push → Upload to GitHub! ☁️ BRANCHES — Mind blowing! 🤯 git branch feature-login → Create parallel universe! git checkout feature-login → Switch to it! Work safely without breaking main code! git merge feature-login → Combine when done! ✅ 🌟 Most amazing part: Same folder! Different files! Based on which branch you are on! 🌌 Master branch = no login page Feature branch = has login page Switch branch = files appear/disappear! 🔥 Just pushed my first repo to GitHub! 🎊 Check it out: https://lnkd.in/gf8UKsHP #Git #GitHub #DevOps #AWS #LearningInPublic #CloudComputing #Fresher #TechJourney #DevOpsEngineer #VersionControl #Coding
To view or add a comment, sign in
-
🚀 Just finished the Docker course on Boot.dev! 🚀 I’m excited to share that I’ve learned the fundamentals of Docker—a key technology in modern DevOps and CI/CD pipelines. Docker makes it simple and fast to deploy new versions of code by packaging applications and their dependencies into preconfigured environments. This not only speeds up deployment, but also reduces overhead and eliminates the “it works on my machine” problem. Docker is a core part of the CI/CD (Continuous Integration/Continuous Deployment) process, enabling teams to deliver software quickly and reliably. Here’s a high-level overview of a typical CI/CD deployment process: The Deployment Process: 1. The developer (you) writes some new code 2. The developer commits the code to Git 3. The developer pushes a new branch to GitHub 4. The developer opens a pull request to the main branch 5. A teammate reviews the PR and approves it (if it looks good) 6. The developer merges the pull request 7. Upon merging, an automated script, perhaps a GitHub action, is started 8. The script builds the code (if it's a compiled language) 9. The script builds a new docker image with the latest program 10. The script pushes the new image to Docker Hub 11. The server that runs the containers, perhaps a Kubernetes cluster, is told there is a new version 12. The k8s cluster pulls down the latest image 13. The k8s cluster shuts down old containers as it spins up new containers of the latest image This process ensures that new features and fixes can be delivered to users quickly, safely, and consistently. image credit: Boot.dev Docker course #docker #cicd #devops #softwaredevelopment #bootdev #learning
To view or add a comment, sign in
-
-
Explain a scenario where you used git fork instead of git clone. Why was forking necessary 🤔 ... ✅ I used git fork when I contributed to a DevOps project in my org on GitHub. Since I didn’t have write access to the original repository, I forked it into my GitHub account, made changes, and then created a pull request from my fork to the upstream repo. 📘 Detailed Explanation In this scenario, the original repository belonged to an organization. I wanted to fix a bug in their Helm chart setup for Kubernetes deployments. Because I didn’t have contributor rights to push directly, I used the Fork button on GitHub to create a personal copy of the repository under my own GitHub username. From there: I cloned my fork to my local system:git clone https://lnkd.in/gWYH6Y6e Created a new branch, made the fix, committed the changes. Pushed the branch to my fork:git push origin bugfix-helm-values Finally, I submitted a pull request to the original repository. Using git clone directly on the upstream repo wouldn't have helped because I couldn’t push changes or open a PR without a fork. So, forking gave me independence and write access on my own terms, while still contributing back to the main project.
To view or add a comment, sign in
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