Skip to main content

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​

  1. 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).
  2. Gitea OCI Container Registry: Houses built application container images tagged by commit SHA.
  3. 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.