VCS & CI/CD Pipelines
To maintain complete autonomy over code hosting, artifact storage, and continuous integration, I run a self-hosted VCS and CI/CD stack.
My VCS & CI Stack
- Gitea (
git.dslan.at): Lightweight, self-hosted Git repository server that hosts all Borrowd source repositories (borrowd/monorepo,borrowd/app,borrowd/homepage,borrowd/web-docs). - Gitea OCI Container Registry: Houses built application container images tagged by commit SHA.
- Gitea Actions (
act_runner): Self-hosted Docker-in-Docker CI runner executing unit tests, Gradle builds, static analysis checks, and container image builds with zero third-party rate limits.
The Advantage of Self-Hosted CI
Running my own CI pipeline gives me total freedom from arbitrary third-party rate limits or build minutes. More importantly, it keeps my infrastructure secrets strictly within my network—my deployment credentials never have to leave the cluster or touch external SaaS providers.