in Platforms, Expertise

Git und Task-Manager

Git ist ein weit verbreitetes Open-Source-Tool zur verteilten Versionskontrolle von Software. Das ist ein Repository zur Dateiversionskontrolle, das für die Versionierung von Quellcode und die gemeinsame Entwicklung verwendet wird. Es ist wie eine kollaborative soziale Plattform, auf der Programmierer und Unternehmen ihre Projekte für die Codeentwicklung einstellen.  

Dieses Kontrollsystem hat die Funktion, alle an einem Code vorgenommenen Änderungen aufzuzeichnen, diese Informationen zu speichern und es einem Programmierer zu ermöglichen, bei Bedarf auf einfache und schnelle Weise zu früheren Versionen einer Anwendung zurückzukehren. Diese Art vom System vereinfacht auch den Prozess der gemeinsamen Nutzung eines Projekts beispielsweise mit einem Team oder mit anderen Programmierern erheblich.  

Die Bedeutung von GitHub. GitHub wurde 2008 eingeführt und ist eine Webversion von Git. Die Projekte auf GitHub sind größtenteils Open Source, aber Sie können Ihren Code privat, nur für bestimmte Personen verfügbar machen oder Teams erstellen. 

Git und GitHub sind verschiedene Dinge.  Sie können Git zur Versionskontrolle nur auf Ihrer Festplatte haben. GitHub ist für Sie, wenn Sie Ihren Code teilen oder in die Cloud stellen möchten. GitHub verfügt über alle Funktionen von Git und über mehrere weitere zusätzliche Funktionen, die unten aufgelistet sind: 

  • Dokumentation;  
  • Problemverfolgung;  
  • Wikis;  
  • Pull-Requests mit Kommentar und Code-Review;  
  • Commit- Verlauf;  
  • E-Mail- und Emoji-Benachrichtigungen;  
  • Photoshop-Dateien können angezeigt und mit früheren Versionen verglichen werden;  
  • GitHub-Seiten: Es können kleine Websites erstellt werden.  

GitHub ermöglicht es Projekten auch, mit der sozialen Nutzung des Tools zu wachsen. Jeder Benutzer auf GitHub hat sein eigenes Profil wie jedes andere soziale Netzwerk, ideal, um seine Arbeit und Beiträge zu anderen Projekten zu präsentieren. Die Projektrevisionen können öffentlich diskutiert werden, was den Wissensaustausch begünstigt. GitHub fördert unter anderem auch die Vernetzung zwischen Entwicklern. 

code

GitLab als populäre GitHub Alternative

GitLab ist ein weiterer bekannter Online-Service zum Speichern und Arbeiten mit Git-Repositories, und wird von Kenner Soft Services GmbH genutzt. Der Service basiert auf einem Datenbanksystem. Es wurde drei Jahre später als GitHub veröffentlicht, deswegen ist die Anzahl seiner Benutzer geringer als die des GitHubs. Trotzdem wird der Service von mehr als 100.000 Projekten, Unternehmen und Organisationen genutzt, darunter sind solche Konzerne wie IBM, Sony, Alibaba, NASA, CERN und viele andere. 

Was die Funktionalität von GitLab betrifft, bietet es die folgenden Funktionen:

  • Erstellung, Speicherung und Verwaltung von öffentlichen und privaten Repositories;
  • Organisation des gemeinsamen Zugriffs auf Repositories, Verwaltung der Zugriffsrechte von Benutzern und Gruppen;
  • Integration mit CI-Systemen;
  • Nachverfolgung von Änderungen, Kommentare zu Projekten, Erstellung von Wiki-Seiten, Ideen- und Taskboards, Integration mit Software von Drittanbietern über API usw.;
  • Authentifizierungs- und Autorisierungstools, Leistungsanalysen und Problemverfolgung, Fehlerüberwachung und Zeitmanagement, Quellcodeverwaltung und webbasierte Bearbeitungskonsole, Unterstützung für kontinuierliche Integration (CI), Codetests und Qualitätssicherung, Repository- und Containerverwaltung, Schwachstellenverwaltung und Scan-Abhängigkeiten .

GitLab bietet zwei kostenlose Versionen an: Community Edition für kleine Teams oder persönliche Projekte (die auf dem lokalen Server des Benutzers bereitgestellt sind) und eine kostenlose Cloud-Version, die auf einem Remote-Hosting-Server erstellt wird (Speicher bis zu 10 GB). Es stehen zudem zwei kostenpflichtige Versionen zur Verfügung: die Enterprise Edition Starter und die Enterprise Edition Premium.

Welche Workflows gibt es?

Mit der Einführung eines Versionskontrolltools wie Git werden neue Herausforderungen und neue Fragen in den Entwicklungsprozess eingeführt. Es wurden mehrere Git-Workflows veröffentlicht, das sind einige davon:

Zentralisiert (oder zentralisierter Workflow)

Bei diesem Ansatz wird kein Zweig des Codes erstellt und die Entwickler arbeiten direkt an dem einzigen vorhandenen Zweig, dem Master. Als Vorteil erfordert dieser Workflow nicht, dass das Team mehrere Codezweige verwaltet. Als Nachteil erhöht es die Wahrscheinlichkeit von Konflikten im Code, da alle Entwickler denselben Codezweig verwenden, der Fehler in das System einbringen kann.

Feature-Zweigmodell

Bei diesem Ansatz müssen die Entwickler für jede zu implementierende Funktion einen neuen Codezweig erstellen. Damit findet die Zusammenführung zwischen dem Feature und dem Hauptzweig erst statt, wenn dieses Feature seine Entwicklung bereits abgeschlossen hat. Daher werden neue Funktionen niemals im Master- Branch sein, ohne dass dieser beendet wurde.

Forking-Workflow 

In diesem Modell hat jeder Entwickler sein eigenes Repository und die Änderungen werden nur in diesem Repository durchgeführt. Um Ihren Code in das zentrale Repository zu integrieren, muss der Entwickler Pull Request ausführen. Dadurch können die Entwickler den produzierten Code integrieren, ohne die Änderungen direkt im zentralen Repository vornehmen zu müssen.

Allerdings kann nur der „Manager“ des Repositorys den Pull Request annehmen, wodurch der Code wirklich integriert wird. 

Gitflow-Workflow 

In Gitflow Workflow gibt es zwei Arten von Zweigen: Hauptzweige und Supportzweige. Die Hauptzweige heißen Develop und Master. Im Master-Zweig befindet sich der Code, der der Produktionssoftware entspricht. Der Develop-Zweig ist ein Zweig, der aus dem Master-Zweig erstellt wurde, und in diesem Zweig arbeiten alle Entwickler. Support-Zweige können vom Typ Feature, Release oder Hotfix sein. 

Task Manager - Redmine   

Redmine ist ein Tool, das das Projektmanagement unterstützt und folgende Bereiche abdeckt: 

  • In den Planungsprozessen – ​​beim Definieren von Aktivitäten, Schätzen der Aktivitätsdauer, Entwickeln von Zeitplänen. 
  • In den Überwachungs- und Kontrollprozessen – ​​​​bei der Kontrolle des Zeitplans, um die Entwicklung von Aktivitäten zu zeigen; ​​​​
    in der Führung des Projektteams, um Aufgabenteilungen, Verantwortlichkeiten, Produktivität zu zeigen; 
    es wird benutzt auch für die Erstellung von Leistungsberichten (Änderungsprotokolle und Kommunikationsspeicher zwischen Teams).  

Redmine ist ein flexibler Projektmanager für das Web, der auf Basis von Ruby on Rails geschrieben und unter der GPL-Lizenz veröffentlicht wurde, auf mehreren Plattformen konfiguriert werden kann und mehrere Datenbanken unterstützt. Zu seinen wichtigsten Vorteilen gehören:

  • Unterstützung mehrerer Projekte, 
  • Flexible Zugriffs- und Kontrollebenen, 
  • System für verschiedene Arten von Aufgaben, 
  • Kalenderdiagramm,
  • Funktionalitäten wie News, Dokumente und Dateiverwaltung, 
  • Unterstützung für Feeds und E-Mail-Benachrichtigungen, 
  • Wiki nach Projekt, 
  • Forum nach Projekt, 
  • Zeiteinteilung,  
  • Verschiedene Tool-Nutzungsberichte, 
  • Anpassbare Spalten nach Aufgaben, Zeitaufwand, Projekten, Benutzern, usw. 

Für bessere Qualität der Arbeit zwischen Teams nutzt man Task Manager und Git zusammen.  

programing

Wie wird die Zusammenarbeit von Git und Redmine bei uns realisiert? 

Wenn der Entwickler einen Task via Task Manager (Redmine) bekommt, nutzt er ein Konsolen-Dienstprogramm, das ermöglicht, einen festen Workflow auf allen Projekten von allen Programmierern zu befolgen. Dieses Konsolen-Dienstprogramm ist eine sozusagen Qualitätssicherung, dass alle Mitarbeiter den einheitlichen Arbeitsprozess befolgen. 

Das Konsolen-Dienstprogramm erstellt automatisch einen neuen Zweig zu dem entsprechenden Task und gewährleistet alle Etappen des Code Reviews, wo die Entwickler oder Tester beteiligt sind. Jedem Task in Redmine wird also ein separater Zweig in GitLab zugewiesen (d.h., jedes Feature wird in einem separaten Zweig entwickelt), jeder Task wird dem Review unterliegt und via Release Manager veröffentlicht.

Diese Zusammenarbeit von Redmine und GitLab fördert einerseits die Arbeitsgeschwindigkeit und Automatisierung der Prozesse und andererseits die Kontrolle des Workflows, damit alle Aufgaben und Prozesse den einheitlichen Qualitätsstandards entsprechen. 

Über den Prozess des Code Reviews und des Testens lesen Sie in unseren anderen Artikeln. 

Unsere Agentur Kenner Soft Services GmbH achtet sehr viel auf die Qualität der erbrachten Leistungen. Wir überprüfen alles sehr gründlich und sorgfältig, um das beste Ergebnis den Kunden zu liefern.  

Haben Sie Interesse an ein engagiertes Team?

Bitte nehmen Sie Kontakt mit unserem Team auf, gerne helfen wir Ihnen weiter.

human test

Rated 0.0/5
Kommentare unterstützt von Disqus.