You're probably deploying manually. Here's how to stop. GitHub Actions gives you free CI/CD directly in your GitHub repo — no external services needed. Here's a complete workflow that runs on every push to main: ```yaml name: Deploy on: push: branches: [main] jobs: test-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: actions/setup-node@v3 with: node-version: '20' - run: npm install - run: npm test - name: Deploy to server run: | ssh user@yourserver 'cd /app && git pull && npm install && pm2 restart app' ``` Every push to main: 1. Checks out the code 2. Installs dependencies 3. Runs tests 4. Deploys to your server — only if tests pass Free for public repos. 2,000 minutes/month free for private repos. Stop deploying manually. Set this up once. Never think about it again. Link in bio — starter workflow files for Node, Python, and Docker deployments. #GitHubActions #CICD #DevOps #Automation #TechFinSpecial
Automate Deployments with GitHub Actions
More Relevant Posts
-
Doqtor is learning a new language. You can now use Doqtor to keep your Python documentation in sync with your code. Automatically detect changes in functions and classes in .py files and update your READMEs and docs. Expanding the ecosystem to help even more developers keep their documentation honest. Check it out: https://lnkd.in/gqbrCNir
To view or add a comment, sign in
-
𝗖𝗹𝗼𝗻𝗶𝗻𝗴 𝗮 𝟱𝟬𝟬𝗠𝗕 𝗿𝗲𝗽𝗼 𝗳𝗼𝗿 𝗼𝗻𝗲 𝘂𝘁𝗶𝗹𝗶𝘁𝘆 𝗳𝘂𝗻𝗰𝘁𝗶𝗼𝗻 𝗶𝘀 𝗹𝗶𝗸𝗲 𝗯𝘂𝘆𝗶𝗻𝗴 𝗮 𝗵𝗼𝘂𝘀𝗲 𝗷𝘂𝘀𝘁 𝘁𝗼 𝘂𝘀𝗲 𝘁𝗵𝗲 𝗺𝗶𝗰𝗿𝗼𝘄𝗮𝘃𝗲. 🏠🚫 We’ve all done it: 1. 𝙜𝙞𝙩 𝙘𝙡𝙤𝙣𝙚 2. Wait forever. 3. Dig through 20 folders. 4. Copy-paste one file. 5. Fix broken imports. 6. Delete the repo. I built 𝗚𝗲𝘁𝗚𝗿𝗮𝗯𝗞𝗶𝘁 to end this madness. 🚀 𝗜𝘁’𝘀 𝗮 𝘀𝘂𝗿𝗴𝗶𝗰𝗮𝗹 𝗖𝗟𝗜 𝘁𝗼𝗼𝗹 𝗳𝗼𝗿 𝗚𝗶𝘁𝗛𝘂𝗯: ✅ Browse any repo in a clean Terminal UI. ✅ Preview code before downloading. ✅ 𝙎𝙢𝙖𝙧𝙩 𝙂𝙧𝙖𝙗: Automatically pulls local dependencies for you. 𝗡𝗼 𝗯𝗹𝗼𝗮𝘁. 𝗡𝗼 𝗺𝗮𝗻𝘂𝗮𝗹 𝗳𝗶𝘅𝗶𝗻𝗴. Just the code you need. Try it now: 𝙣𝙥𝙢 𝙞𝙣𝙨𝙩𝙖𝙡𝙡 -𝙜 𝙜𝙚𝙩𝙜𝙧𝙖𝙗𝙠𝙞𝙩 𝗟𝗶𝗻𝗸𝘀 🌐 𝗛𝗤: https://lnkd.in/gZcirkyp 📦 𝗡𝗣𝗠: https://lnkd.in/g2vtPmXS 😻 𝗣𝗛: https://lnkd.in/gvybBJ-w 𝗦𝘁𝗼𝗽 𝗰𝗹𝗼𝗻𝗶𝗻𝗴. 𝗦𝘁𝗮𝗿𝘁 𝗴𝗿𝗮𝗯𝗯𝗶𝗻𝗴. 🧲 GitHub Google Video Credits : Shravan Kumar Nalacherla #buildinpublic #devtools #nodejs #opensource #programming #clitool,#github, #nodejs, #developertools, #terminalui, #opensource, #productivity ,#best_dsa_course ,#codeprep ,#coding #dsa ,#programming #powershellscripting #agent
To view or add a comment, sign in
-
My 3rd open-source project: pip-json - a small side project that I built for fun It's a lightweight CLI tool that brings package.json-style dependency management to Python, powered by pip under the hood. Use case: pip install pip-json pip-json install "requests>=2.0" It introduces two files: requirements.json - what you want requirements.lock.json - what pip resolves Nothing revolutionary, but a fun project that let me explore more how Python tooling, packaging works and best practices of building CLI applications. If it sounds useful or interesting to you, feel free to ⭐ star it or open a PR. Contributions are very welcome :) (read https://lnkd.in/dZJjgd5Z) https://lnkd.in/dHKuf-Aj #python #opensource
To view or add a comment, sign in
-
Another approach use github here is the standard workflow to get your local code onto GitHub for the first time. Step 1: Initialize the Local Repository Navigate to your project folder and turn it into a Git repository. Step 2: Stage your Files This tells Git which files you want to include in your next "snapshot." The . adds everything in the current folder. Step 3: Commit the Changes This creates a permanent snapshot of the staged files with a descriptive message. Step 4: Branching (Optional but Recommended) GitHub's default branch name is main. Some local Git versions still use master. This renames it to match GitHub. Step 5: Link Local to GitHub You need to tell your local repo where the "remote" server is. Replace the URL with your actual repo link. Step 6: Push to GitHub The -u flag sets the "upstream" tracking, so in the future, you can just type git push. #Keeplearning #GenAIAgenticAI #Python #Selenium #Automation Krish NaikRahul Shetty (Venkatesh)Pramod Dutta
To view or add a comment, sign in
-
-
🤯 Kubernetes rewritten in Rust, Rusternetes, can now pass 90% of conformance tests. We’ve seen many jokes on reimplementing well-known software using Rust. We've seen Rust being brought into the Linux kernel. We are also still smiling on a recent April 1st’s PR in kubernetes/kubernetes №138147 (“Start converting Kubernetes to Rust”)… However, given the empowerment we've gained with AI-assisted programming, some things are no longer a joke: we’re super close to having a fully conformant #Kubernetes implementation written from scratch in #Rust. Moreover, it’s a [seemingly] hobby project by a single enthusiast who uses Claude to keep the ball rolling. Here’s what the Rusternetes README says today: “216,000+ lines of Rust across 10 crates. 31 controllers. 3,100+ tests. Actively conformance-tested against the official Kubernetes e2e test suite — currently passing 90% of conformance tests (398/441) across 149 rounds of testing.” “This isn't a wrapper around the Go codebase or a partial mock. Every component — API server, scheduler, controller manager, kubelet, kube-proxy — is written from scratch in Rust, implementing the actual Kubernetes API surface, wire format, and behavioral semantics.” This project includes a built-in Web console that provides real-time cluster topology and resource management. Sounds quite fun and mindblowing at the same time, doesn’t it? P.S. Find the GitHub link in comments ⬇️
To view or add a comment, sign in
-
-
OK, language-agnostic era, here we go! 🌍 We're finally at a stage where developers don't need to care about what language a product is written in. The focus has entirely shifted to what we can build with it. Just a short notice: It is still matter for the product, or for the machine who run it. But no longer for developers...
🤯 Kubernetes rewritten in Rust, Rusternetes, can now pass 90% of conformance tests. We’ve seen many jokes on reimplementing well-known software using Rust. We've seen Rust being brought into the Linux kernel. We are also still smiling on a recent April 1st’s PR in kubernetes/kubernetes №138147 (“Start converting Kubernetes to Rust”)… However, given the empowerment we've gained with AI-assisted programming, some things are no longer a joke: we’re super close to having a fully conformant #Kubernetes implementation written from scratch in #Rust. Moreover, it’s a [seemingly] hobby project by a single enthusiast who uses Claude to keep the ball rolling. Here’s what the Rusternetes README says today: “216,000+ lines of Rust across 10 crates. 31 controllers. 3,100+ tests. Actively conformance-tested against the official Kubernetes e2e test suite — currently passing 90% of conformance tests (398/441) across 149 rounds of testing.” “This isn't a wrapper around the Go codebase or a partial mock. Every component — API server, scheduler, controller manager, kubelet, kube-proxy — is written from scratch in Rust, implementing the actual Kubernetes API surface, wire format, and behavioral semantics.” This project includes a built-in Web console that provides real-time cluster topology and resource management. Sounds quite fun and mindblowing at the same time, doesn’t it? P.S. Find the GitHub link in comments ⬇️
To view or add a comment, sign in
-
-
I think stuff like this is cool (aside from being AI assisted, y'all know I hate AI) But I'm also a little over (read: very over) hearing about "what if we re-wrote X in Y language) It's almost certainly not that easy y'all. And also, why not try and make whatever software better (as in, contribute upstream) with the time spent on a rewrite? Note: This is not a shot at the person I reposted, nor the author of rusternetes, just my opinion. I see a lot of "we took an LLM and rewrote blahblah in a different language" and I always 🙄
🤯 Kubernetes rewritten in Rust, Rusternetes, can now pass 90% of conformance tests. We’ve seen many jokes on reimplementing well-known software using Rust. We've seen Rust being brought into the Linux kernel. We are also still smiling on a recent April 1st’s PR in kubernetes/kubernetes №138147 (“Start converting Kubernetes to Rust”)… However, given the empowerment we've gained with AI-assisted programming, some things are no longer a joke: we’re super close to having a fully conformant #Kubernetes implementation written from scratch in #Rust. Moreover, it’s a [seemingly] hobby project by a single enthusiast who uses Claude to keep the ball rolling. Here’s what the Rusternetes README says today: “216,000+ lines of Rust across 10 crates. 31 controllers. 3,100+ tests. Actively conformance-tested against the official Kubernetes e2e test suite — currently passing 90% of conformance tests (398/441) across 149 rounds of testing.” “This isn't a wrapper around the Go codebase or a partial mock. Every component — API server, scheduler, controller manager, kubelet, kube-proxy — is written from scratch in Rust, implementing the actual Kubernetes API surface, wire format, and behavioral semantics.” This project includes a built-in Web console that provides real-time cluster topology and resource management. Sounds quite fun and mindblowing at the same time, doesn’t it? P.S. Find the GitHub link in comments ⬇️
To view or add a comment, sign in
-
-
🤖 Day 8 of #100DaysOfDevOps — Ansible Today's milestone: installed Ansible 4.8.0 on the jump host and made it available globally to all users. The automation controller is live. But first — what IS Ansible? Ansible is an agentless automation tool. You write simple YAML instructions once, run them from one controller machine, and Ansible SSHes into every server and executes them simultaneously. No agent installed on target servers. No complex setup. Just SSH + Python — both of which I already had from Days 1–7. Why pip3 and not yum? → yum gives you whatever outdated version the OS repo has → pip3 lets you pin an EXACT version: ansible==4.8.0 → sudo pip3 installs it globally so ALL users can run it The commands: 1. python3 --version # confirm Python 3 exists 2. sudo pip3 install ansible==4.8.0 # install exact version globally 3. ansible --version # verify ✅ 4. which ansible # confirms: /usr/local/bin/ansible The architecture now looks like this: [Jump Host — Ansible Controller] ↓ SSH (passwordless from Day 7) [stapp01] [stapp02] [stapp03] The servers need NOTHING installed. Ansible reaches out to them over the SSH keys I set up yesterday. This is where the previous 7 days start paying off: → Day 1: service users → Day 4: file permissions → Day 7: passwordless SSH ← Ansible uses this directly → Day 8: Ansible controller ready "Ansible needs nothing on the servers. Just SSH, Python, and one controller. That's the beauty of agentless automation." #DevOps #Ansible #Automation #Linux #Python #ConfigurationManagement #KodeKloud
To view or add a comment, sign in
-
-
🚀 Just built and published my first Go REST API project on GitHub! I built a Library Management System from scratch using Go — no frameworks, no external libraries, just pure Go standard library. What the project does: → Add and list books in the library → Members can borrow books with automatic due date (14 days) → Return books and get fine calculated automatically → Fine system: 5 rupees per day after due date → Full input validation on every route Tech used: → Go (Golang) → net/http — built-in router and server → encoding/json — JSON parsing → In-memory storage using Go slices API Endpoints I built: → GET /books — list all books → POST /books — add a new book → POST /borrow — borrow a book → GET /borrow/{id} — check borrow status → POST /return — return a book → GET /fine/{memberID} — check member fines This project taught me: → How HTTP servers work in Go → JSON encoding and decoding → Routing with ServeMux → Input validation patterns → Writing clean commit messages → Thinking like a backend developer GitHub link in comment👇 #golang #go #backend #restapi #programming #100daysofcode #webdevelopment #opensource #github #coding #softwaredevelopment #beginnerprogrammer #learntocode #india
To view or add a comment, sign in
-
Ever wonder how CLI tools are actually built? I've been using them forever - git, npm, docker, vercel. I often type commands into a terminal without considering the underlying processes. So I decided to build one myself. 👉 Here's what I've learned so far: A CLI is essentially a program that reads arguments from your terminal, runs logic, and writes back to stdout. That's the whole idea. What makes it feel "real" is the layer on top - argument parsing, subcommands, flags, error handling, and help text. In Python, a library called Click handles all of that. You define commands as functions, decorate them, and Click does the rest, including auto-generating --help output, validating inputs, and managing subcommand routing. What surprised me most is how much of a CLI is just Python packaging. The reason you can type "git" instead of "python -m git.cli" is purely a setup.py / pyproject.toml entry point. One config line maps a command name to a function. That's it. 👉 CLIs are how developers talk to tools. Every deployment pipeline, every dev toolchain, every automation script runs on CLI commands. Understanding their construction alters your approach to reading documentation, debugging issues, and designing your own tools. 👉 Still in the early stages. But this is one of those things where building it yourself makes you understand every CLI you've ever used slightly differently. More updates as I go. #Python #CLI #DevTools #LearningInPublic #BuildInPublic #SoftwareEngineering
To view or add a comment, sign in
-
Explore related topics
- Deployment Workflow Automation
- GitHub Code Review Workflow Best Practices
- How to Implement CI/CD for AWS Cloud Projects
- How to Automate Code Deployment for 2025
- Continuous Deployment Techniques
- How to Secure Github Actions Workflows
- How to Use Git for IT Professionals
- How To Automate Project Management Workflows
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