Week 1: Demystifying the Remote
This past week marked the official start of my DIY CI/CD pipeline project. My first goal was to come up with a way to manage git repos.
I wanted to host my code without relying on GitHub or GitLab. When I clone a repo at work, the address usually looks something like this:
git clone git@github.com:path/to.git
Looking at that through the lens of a Linux terminal, it’s clearly just pointing to a path on a machine via SSH. I had a hunch that setting up my own remote server couldn't be as simple as just pointing to a folder on a spare machine.
It turns out, it really is that easy.
The "Aha!" Moment
Realising that Git is essentially just a series of file transfers over SSH was a massive confidence boost. It’s easy to look at a project like "building a CI/CD pipeline" and feel overwhelmed by the scale, but this early win reminded me that I already understand the core technologies at play. I’m just putting them together in a new way.
To manage this, I’ve put together a few Bash scripts to handle my Git settings and repository initialisation.
You can find the current scripts in the src/scripts directory of my project repo here: CI-CD-BG on GitHub.
The Road Ahead: From SSH to HTTP?
Now that the "Store" part of the pipeline is working, I’m venturing into the unknown.
Currently, I have to manually SSH into the server to run my management scripts. For the next phase, I’m considering setting up a lightweight HTTP server. The goal is to be able to trigger my build and test scripts via webhooks or simple HTTP requests rather than maintaining a manual SSH session.
This moves the project from "running scripts on a box" to "building a service," and I’m excited (and slightly terrified) to see how it holds up.
Top comments (0)