Heim  >  Artikel  >  Entwicklungswerkzeuge  >  Warum nutzen Unternehmen Gitlab? Wie sieht der Arbeitsablauf aus?

Warum nutzen Unternehmen Gitlab? Wie sieht der Arbeitsablauf aus?

青灯夜游
青灯夜游nach vorne
2023-03-23 19:49:072071Durchsuche

Warum nutzen Unternehmen Gitlab anstelle von Github und Gitee? Der folgende Artikel stellt die Gründe vor und spricht über den Gitlab-Workflow. Ich hoffe, dass er für alle hilfreich ist!

Warum nutzen Unternehmen Gitlab? Wie sieht der Arbeitsablauf aus?

Was ist

Offizieller Begriff:

GitLab wird von GitLabInc. unter Verwendung einer MIT-Lizenz basierend auf NetzwerkGit entwickelt Lager Management-Tools und hat Wiki und Issue-Tracking-Funktionen. Verwenden Sie Git als Codeverwaltungstool und erstellen Sie darauf basierend einen Webdienst.

GitLab wurde von den ukrainischen Programmierern Dmitriy Zaporozhets und Valery Sizov entwickelt und ist in der Ruby-Sprache geschrieben. Später wurden einige Teile in der Go-Sprache umgeschrieben. Im Mai 2018 hatte das Unternehmen etwa 290 Teammitglieder und mehr als 2.000 Open-Source-Mitwirkende. GitLab wird von Organisationen wie IBM, Sony, Forschungszentrum Jülich, NASA, Alibaba, Invincea, O’Reilly Media, Leibniz-Rechenzentrum (LRZ), CERN, SpaceX und mehr verwendet.

GitLab verfügt über ähnliche Funktionen wie Github, mit der Möglichkeit, Quellcode zu durchsuchen, Fehler und Kommentare zu verwalten. Es verwaltet den Teamzugriff auf das Repository, erleichtert das Durchsuchen festgeschriebener Versionen und stellt eine Dateiverlaufsbibliothek bereit. Teammitglieder können über das integrierte einfache Chat-Programm (Wall) kommunizieren. Es bietet außerdem eine Code-Snippet-Sammelfunktion zur einfachen Wiederverwendung von Code.

Warum

Warum nutzen Unternehmen Gitlab anstelle von Github und Gitee?

Wenn es mehr Versionen eines Projekts und mehr Entwickler gibt, gibt es bei der einfachen Git-Verwaltung immer noch viele Probleme. Einerseits haben die Entwickler zu viel Autorität und andererseits weiß das Betriebs- und Wartungspersonal nicht viel über unseren Entwicklungsprozess, sodass sie darüber nachdenken, bessere Tools zum Verwalten von Projekten zu verwenden. Also dachte ich an Gitlab.

CI/CD

CI/CD bezieht sich hier eigentlich auf Continuous Integration (CI), Continuous Delivery und Continuous Deployment (CI), bei dem Softwareentwickler häufig täglich Kopien von aktualisiertem Code an einen gemeinsam genutzten Ort liefern. Verfahren. Alle Entwicklungsarbeiten werden zu geplanten Zeiten oder Ereignissen integriert und Test- und Build-Arbeiten werden dann automatisiert. Durch CI können Fehler, die während des Entwicklungsprozesses auftreten, rechtzeitig entdeckt werden, was nicht nur den gesamten Entwicklungszyklus beschleunigt, sondern auch dafür sorgt, dass Softwareentwickler effizienter arbeiten. Und CD steht für Continuous Delivery (CD), das zweite Puzzleteil bei der Erstellung hochwertiger Anwendungen. CD ist eine Softwareentwicklungsdisziplin, die Technologie und Tools nutzt, um schnell Code in der Produktionsphase bereitzustellen. Da ein Großteil des Lieferzyklus automatisiert ist, können diese Lieferungen schnell abgeschlossen werden.

Wir werden den CI/CD-Workflow später im Detail vorstellen

Berechtigungskontrolle und Zusammenarbeit

Der einfachste Weg, an einem GitLab-Projekt zusammenzuarbeiten, besteht darin, Mitarbeitern direkte Push-Berechtigungen für das Git-Repository zu erteilen. Sie können über den Abschnitt „Mitglieder“ der Projekteinstellungen Autoren zu einem Projekt hinzufügen und dem neuen Mitarbeiter eine Zugriffsebene zuordnen (. Indem Sie einem Mitarbeiter „Entwickler“ oder höher zuweisen. Mit der Zugriffsebene kann dieser Benutzer sich direkt auf das Repository festlegen oder Niederlassung ohne Einschränkungen.

Eine weitere Möglichkeit, die Zusammenarbeit stärker zu entkoppeln, ist die Verwendung von Zusammenführungsanfragen. Der Vorteil besteht darin, dass jeder Mitarbeiter, der das Projekt sehen kann, auf kontrollierte Weise zum Projekt beitragen kann. Mitarbeiter mit direktem Zugriff können einfach einen Zweig erstellen, sich auf diesen Zweig festlegen oder eine Zusammenführungsanforderung an den Master oder einen anderen Zweig stellen. Mitarbeiter, die keine Push-Berechtigungen für das Repository haben, können das Repository „forken“, sich auf diese Kopie festlegen und dann eine Zusammenführungsanforderung von dieser Kopie an das Hauptprojekt öffnen. Dieses Modell gibt dem Projekteigentümer die vollständige Kontrolle darüber, welche Commits an das Repository vorgenommen werden und wann Beiträge von unbekannten Mitwirkenden zugelassen werden. (Dies ähnelt in gewisser Weise Github, aber derzeit sind private Github-Bibliotheken kostenpflichtig.)

Das Zusammenführen von Anfragen und Problemen in GitLab ist ein wichtiger Teil einer langjährigen Diskussion. Jede Zusammenführungsanforderung ermöglicht eine Diskussion über die Zeile, in der die Änderung vorgeschlagen wurde (was eine einfache Codeüberprüfung ermöglicht), sowie über ein Gesamtthema. Beide können Benutzern zugewiesen oder in der Meilenstein-Schnittstelle organisiert werden.

Dieser Abschnitt konzentriert sich hauptsächlich auf Git-bezogene Funktionen in GitLab, aber als ausgereiftes System bietet GitLab viele andere Produkte, die Ihnen bei der Zusammenarbeit helfen, wie z. B. Projekt-Wikis und Systemwartungstools. Eines der schönen Dinge an GitLab ist, dass Sie, sobald der Server einmal in Betrieb ist, selten Konfigurationsdateien oder SSH auf dem Server anpassen müssen; die meiste Verwaltung und tägliche Nutzung kann über die Browseroberfläche erfolgen.

Einführung in den Git Flow-Workflow

Im Allgemeinen werden Projekte in einem Unternehmen von mehreren Personen gleichzeitig entwickelt, daher ist die Verwaltung von Git-Zweigen zu einem zentralen Thema geworden.

Hier müssen wir also unseren Git-Flow-Workflow vorstellen.

Beginnen wir mit der Ausführungsumgebung des Codes. Im Allgemeinen besteht die Umgebung, in der der Code ausgeführt wird, darin, dass das Unternehmensteam über mindestens eine dieser Umgebungen verfügt:

  • Lokale Entwicklungsumgebung: Für Entwicklertests kann es sich um einen statischen Server handeln, der lokal bereitgestellt wird, oder natürlich Es kann einer Umgebung ähnlich sein, die dem Ausführen eines NPM-Servers ähnelt. Der in der lokalen Umgebung ausgeführte Code kann eine beliebige Zweig-Entwicklungsumgebung sein: Diese Umgebung wird mit dem vom Entwicklungszweig-Entwickler erstellten Code bereitgestellt und ist die einzige öffentliche . Die
  • Test- und Vorabversionsumgebung: Diese Umgebung wird mithilfe des von der Entwicklungszweigversion erstellten Codes bereitgestellt. Die einzige öffentliche
  • Online-Produktionsumgebung: Diese Umgebung wird mithilfe des Entwicklungszweigmasters erstellt, der einzigen öffentlichen Das entsprechende Git-Branch-Modell sieht so aus Entwickelte Zweige gelten für die Zusammenführung in den Release-Zweig, der Testern zum Testen zur Verfügung gestellt wird
  • feature-*: Funktionszweig, spezifische Funktionsentwicklung
dev/ test-*: Entwicklungszweig und Dirty Branch, entsprechend der von allen geteilten Entwicklungsumgebung . Der obige Code wird in einer öffentlichen Entwicklungsumgebung bereitgestellt, damit Entwickler Selbsttests durchführen und einige tägliche Aufgaben erledigen können.

Hotfix-*: Bug-Notfallreparaturzweig, der direkt in den Master eingebunden werden kann. Wenn die Version mehrere Feature-Zweige zusammenführt, wird beim Testen festgestellt, dass der Buff eine Notfallreparatur benötigt, und die Notfallreparatur kann nach Abschluss des Tests direkt mit der Master-Version zusammengeführt werden

Einführung in den Workflow

  • Erhalten Sie das Anforderungsdokument und überprüfen Sie es Es wird jeder Person oder Gruppe zugewiesen, um Funktionen zu entwickeln.
  • Zusätzlich zum lokalen Testen während der Entwicklung wird es bei Bedarf in den Entwicklungszweig integriert und öffentlich getestet Entwicklungsumgebung
Denn während der Entwicklung von Funktionen können Hotfixes in den Master eingebunden werden. Beim Zusammenführen von Code ist es üblich, ⽌Konflikte usw. zu vermeiden.

⾃Nach Abschluss des Tests Beantragen Sie die Zusammenführung mit der Veröffentlichung, stellen Sie sie in der Testumgebung bereit und benachrichtigen Sie den Tester, um den Test durchzuführen

Wenn der Test fehlschlägt, führen Sie die Zusammenführung erneut durch, nachdem der Funktionszweig geändert wurde

  • Löschen Sie den entsprechenden Funktionszweig, nachdem er erfolgreich und stabil online ist und der Entwickler den neuesten Hauptzweig zusammenführt

  • (Teilen von Lernvideos:

    Grundlegendes Programmiervideo
  • )

Das obige ist der detaillierte Inhalt vonWarum nutzen Unternehmen Gitlab? Wie sieht der Arbeitsablauf aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:juejin.cn. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen