this post was submitted on 13 Apr 2024
8 points (90.0% liked)

DevOps

1686 readers
1 users here now

DevOps integrates and automates the work of software development (Dev) and IT operations (Ops) as a means for improving and shortening the systems development life cycle.

Rules:

Icon base by Lorc under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

Struggling with a problem that i just can't seem to figure out.

When starting from scratch self hosting both the SCM and CI/CD server.

Given that you can't use an existing setup to deploy/manage it, what is the best practice for deploying said services?

you are viewing a single comment's thread
view the rest of the comments
[–] alienscience@programming.dev 5 points 7 months ago (1 children)

I am not sure if it is best practice, but this is what I do and it might provide some inspiration:

  • Bootstrap from a private gitlab.com repository with a base ansible setup. Executed from a laptop.
  • The bootstrap setups up k8s and installs a bare bones git repository docker container based on https://codeberg.org/al13nsc13nc3/gitsrv.
  • Flux CD is installed into the bare bones git repository and k8s.
  • Flux CD is used to install Forgejo and Woodpecker CI using the bare bones git repository as the gitops source of truth.

This has the advantage that Gitops and normal git repositories are separate. I think that a similar principle would work with docker compose instead of k8s.

[–] Senal@programming.dev 1 points 7 months ago

I have also done this previously but i'll not be using third party hosted SCM or CI for this one so it kinda rules this approach out. (I'll edit the main post to reflect this)

Looks like manual/locally-scripted is the way, just wondered if there was something more.