Post

The Most Boring CD Script That Just Works

The Most Boring CD Script That Just Works

Here’s my entire continuous deployment pipeline for the blog that you are reading:

1
2
3
4
5
6
7
8
9
10
#!/bin/bash

while true
do
  git pull
  jekyll build
  sudo rsync -r _site/* /var/www/html
  echo sleeping...
  sleep 300
done

That’s it. Ten lines.

The Setup

  • GCP VM with nginx
  • Git repo cloned on server
  • nohup ./auto_deployer.sh &

Every 5 minutes: pull changes, build site, copy to /var/www/html.

Why This Beats Jenkins/GitHub Actions

No build queues. No service outages. No YAML. No secrets management. No monthly bills.

Want to change deployment? Edit the script. Done.

When to Use This

Perfect for personal sites, blogs, documentation. Don’t use for production apps with teams.

The Experiment

I just started running this script. Instead of jumping straight to Jenkins or GitHub Actions like everyone else, I’m curious to see how this simple approach pans out.

The beauty is that if something breaks, I’ll know exactly what went wrong and where. No digging through CI/CD logs or debugging YAML syntax errors.

Sometimes the most boring solution is the best solution.

This post is licensed under CC BY 4.0 by the author.