Linuxguide

GitLab CI/CD – Pipelines fuer Build und Deploy 2025

Automatisierte Build-, Test- und Deployment-Pipelines

S
SeeColors IT
11. Juni 20264 Min. Lesezeit176 Aufrufe

GitLab CI/CD Grundstruktur

.gitlab-ci.yml steuert alle Pipelines:

Stages (Phasen in Reihenfolge):
  build  → Code kompilieren / Container bauen
  test   → Unit-Tests, Integration-Tests, Linting
  deploy → Deployment in staging / production

Jobs:
  Laufen in parallel innerhalb einer Stage
  Jeder Job laeuft in einem Docker-Container

Runner:
  Agents die Jobs ausfuehren
  GitLab.com: Shared Runner (kostenlos 400 Min/Monat)
  Selbst-Hosted Runner: unbegrenzt

Einfache Pipeline .gitlab-ci.yml

# .gitlab-ci.yml im Root des Repos
image: node:20-alpine

stages:
  - install
  - test
  - build
  - deploy

variables:
  NODE_ENV: production

cache:
  key: node-modules
  paths:
    - node_modules/

install:
  stage: install
  script:
    - npm ci
  artifacts:
    paths:
      - node_modules/

unit-tests:
  stage: test
  script:
    - npm run test:unit -- --coverage
  coverage: '/Liness*:s*(d+.d+)%/'
  artifacts:
    reports:
      junit: test-results.xml
      coverage_report:
        coverage_format: cobertura
        path: coverage/cobertura-coverage.xml

build-docker:
  stage: build
  image: docker:24
  services:
    - docker:24-dind
  script:
    - docker login -u gitlab-ci-token -p GITLAB_CI_TOKEN registry.gitlab.com
    - docker build -t registry.gitlab.com/meinefirma/meine-app:latest .
    - docker push registry.gitlab.com/meinefirma/meine-app:latest

deploy-staging:
  stage: deploy
  environment:
    name: staging
    url: https://staging.meine-app.de
  script:
    - kubectl set image deployment/meine-app app=registry.gitlab.com/meinefirma/meine-app:latest -n staging
  only:
    - develop

deploy-production:
  stage: deploy
  environment:
    name: production
    url: https://meine-app.de
  script:
    - kubectl set image deployment/meine-app app=registry.gitlab.com/meinefirma/meine-app:latest -n production
  when: manual
  only:
    - main

GitLab Runner selbst hosten

# GitLab Runner installieren (Debian/Ubuntu)
curl -L https://packages.gitlab.com/install/repositories/runner/gitlab-runner/script.deb.sh | bash
apt install gitlab-runner

# Runner registrieren
gitlab-runner register     --url https://gitlab.com     --token REGISTRATION_TOKEN     --executor docker     --docker-image docker:24     --description "Server Runner"

# Als Systemd-Service
systemctl enable --now gitlab-runner

# Runner-Status
gitlab-runner status
gitlab-runner list

FAQ

Brauche ich einen eigenen Runner oder reicht der GitLab.com Shared Runner?
Shared Runner: gut fuer kleine Projekte (400 min/Monat kostenlos). Eigener Runner: fuer haeufige Pipelines, lokalen Registry-Zugriff oder interne Kubernetes-Cluster.

Fazit

GitLab CI/CD ist eine der besten integrierten CI/CD-Loesungen: Container Registry, Environments, Security Scanning und Kubernetes-Integration in einer Plattform.

GitLab CI/CD fuer KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel