Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:gitlab

Dies ist eine alte Version des Dokuments!


  • ssh-Keys anlegen
    • rechte obere Ecke auf eigenes Icon klicken
    • Preferences
    • „SSH Keys“
  • existierendes Repository hochladen

cd existing_repo
git remote rename origin old-origin
git remote add origin https://gitlab.com/n1843/test1.git
git push -u origin --all
git push -u origin --tags

Entwicklungsablauf

  • entwickelt wird nicht auf dem Master-Branch
  • es wird auf Development-Branches gearbeitet
  • diese werden gepusht

git push --set-upstream origin <Branchname>

  • in dem Moment wird CI/CD ausgeführt
  • die tauchen dann in Branches auf und dort kann ein Merge-Request angefordert werden
  • die Merge-Requests tauchen dann in Merge requests auf

CI/CD

  • Sind die Regeln/Tools die bei bestimmten Ereignissen ausgeführt werden sollen
    • zum Beispiel bei Push um den Code zu verifizieren
    • oder zu bestimmten Zeiten um ein Release zu bauen

Bestandteile

  • Pipelines → oberster Container
  • Stages → die Stufen die abgearbeitet werden sollen
    • Stages werden nacheinander ausgeführt → Code prüfen, kompilieren, ausrollen
    • beinhalten Jobs
    • Jobs der gleichen Stage können parallel zueinander ausgeführt werden
  • Jobs → definieren was getan werden soll
    • Jobs werden durch Runner ausgeführt
  • Runner → in der Regel Container die einen Job ausführen

gitlab-ci.yaml

  • liegt im root des Repositories

Auto DevOps

  • funktioniert so lange kein Regel-File im Repository vorhanden ist
  • erkennt automatisch die Sprache des Projekts
  • baut den Code automatisch
  • scannt den Code automatisch entsprechend automatischer Regeln
  • testet die Anwendung
  • innerhalb des Repositories
  • Settings
  • CI/CD
  • Auto DevOps
  • „Default to Auto DevOps pipeline“ anklicken

Begriffe

Abkürzung Begriff Beschreibung
CIContinous IntegrationJedes Commit wird automatisch (mit Hilfe von Scripten und Tools) gebaut (oder teilweise gebaut) und getestet
CDContinous DeliveryAutomatisches Ausrollen der Software, allerdings wird es manuell ausgelöst
CDContinous DeploymentEs wird automatisch ausgerollt auf Produktivsysteme

Dinge die eingestellt werden sollten

  • generell die Dinge unter Settings
  • Settings → Merge Requests
    • Approval
      • wie viele Leute müssen approven damit ein Merge-Request durchgeht
    • Merge Method
      • ob ein Merge-Commit erstellt wird oder nicht
    • Squash commits when merging
      • ob die History des gemergten Branches als solche erhalten bleibt oder gesquast wird
    • Merge checks
      • Ob alle Pipelines erfolgreich durchlaufen worden sein müssen bevor gemerged werden kann → das wird man in der Regel wollen
      • Ob alle Diskussionen beantwortet sein müssen bevor gemerged werden kann
    • Merge suggestions
      • Für die Merge-Message vorgeschlagene Texte
  • Settings → Integrations
    • darüber kann man externe Plattformen/Dienste einbinden
      • zum Beispiel Jira als Issue-Tracker
    • eine Alternative dazu ist Webhooks
  • Settings → Repository
    • Protected branches → es macht in der Regel den Zugriff auf den Master-Branch zu beschränken/zu deaktivieren, so dass in Feature-Branches gearbeitet wird, die dann gemerged werden
programmieren/gitlab.1638110076.txt.gz · Zuletzt geändert: 2021/11/28 15:34 von root