GitLab
SDLC / Policy-as-Code
Kompletna platforma DevOps: SCM, CI/CD, rejestr, security — self-hosted.
GitLab to kompletna platforma DevOps w jednym produkcie: hosting Git i merge requesty, pipeline’y CI/CD (definiowane w .gitlab-ci.yml), rejestr kontenerów i pakietów, skanowanie bezpieczeństwa, środowiska i wiele więcej. Można ją hostować samodzielnie (Community Edition na licencji MIT) lub korzystać z gitlab.com. Pipeline’y i konfiguracja żyją w repo, więc cały SDLC jest wersjonowany i powtarzalny.
Kiedy używać
- Chcesz „wszystko w jednym” (SCM + CI/CD + rejestr + security) na własnej infrastrukturze.
- Potrzebujesz dojrzałych pipeline’ów jako kod (
.gitlab-ci.yml) i środowisk. - Standaryzujesz pracę wielu zespołów na jednej platformie.
Przykład użycia
# .gitlab-ci.yml
stages: [build, release]
build:
image: node:20
stage: build
script: [npm ci, npm run build]
release:
image: node:20
stage: release
rules: [{ if: '$CI_COMMIT_BRANCH == "main"' }]
script: [npx semantic-release]
Warto wiedzieć
- Lżejsza, minimalistyczna alternatywa do samego hostingu Git + CI: Gitea.
- Dobrze współgra z semantic-release (wtyczka GitLab) i GitOps (Argo CD/Flux).