Versionskontrolle und Mehrbenutzer-Entwicklung
Wie schneidet Mendix Multi-User-Entwicklung unterstützen?
Mendix Studio Pro ermöglicht die Entwicklung mehrerer Benutzer auf verschiedenen Kenntnisstufen. Weitere Informationen finden Sie in App-Entwicklung.
Zu Beginn eines Projekts können alle Teammitglieder gemeinsam an der Hauptlinie des Versionskontroll-Repository arbeiten. Mendix Studio Pro-Benutzer können App-Updates mit dem Rest des Teams teilen Verwenden des Update- und Commit-Musters über das Versionskontroll-Repository.
Wie funktioniert die Versionskontrolle in Mendix?
Mendix unterstützt die Verwendung eines zentralisierten Versionskontroll-Repositorys auf Basis von Git, dem Mendix Team Server. Jedes Projekt, das mit dem Mendix Die Plattform wird mit dem Versionskontrollsystem Team Server geliefert. Der Team Server verwendet Git-Technologie und ermöglicht es mehreren Entwicklern, am selben Projekt zu arbeiten und Modelländerungen kontinuierlich in Revisionen im Versionskontroll-Repository zu integrieren. Für Apps, die auf Mendix 9 und darunter, Mendix unterstützt auch Subversion (SVN)-basierte Repositories.
Dieses Diagramm stellt die Mendix Versionskontrollarchitektur:
Entwickler können Revisionen und Konflikte verwalten sowie Zweiglinien erstellen, die bei Bedarf wieder in eine Hauptlinie integriert werden können. Jede Änderung in der Plattform wird aufgezeichnet und mit anderen Revisionen verglichen, um Konflikte zu erkennen und Aktualisierungen zu verwalten. Benutzer werden über die Mendix Portal und zugewiesene Sicherheitsrollen, die ihnen entsprechende Zugriffsrechte auf die im Team Server gespeicherten Modelle gewähren.
Wie erstelle ich Querverweise zwischen User Stories und Anwendungsänderungs-Commits?
Mendix bietet eine integrierte Entwicklungserfahrung zwischen dem Team Server-Versionierungsrepository, dem Anwendungsprojekt-Dashboard und Mendix Studio Pro. Die Integration der Mendix Team Server Versionsrepository mit der App Project Dashboard und Mendix Studio Pro bietet folgende wesentliche Vorteile:
- Es bietet Teammitgliedern eine Integrierte Möglichkeit zur Anforderungsverfolgung während des gesamten Entwicklungs- und Lieferzyklus. Wenn Sie mit der Arbeit an Ihrer Anwendung beginnen, öffnen Sie einfach Mendix Mit Studio Pro können Sie die für den aktuellen Sprint geplanten User Stories anzeigen und mit der Arbeit daran beginnen.
- Wenn Teammitglieder Änderungen am App-Modell von innen an den Team-Server übermitteln Mendix Studio Pro, sie können Wählen Sie die User Stories aus, an denen sie gearbeitet haben. Der Team Server erstellt automatisch Links zwischen User Stories und den vorgenommenen Modelländerungen und bietet so eine Möglichkeit, von Commits zu den zugehörigen Anforderungen zu navigieren.
- Endnutzer können Feedback direkt aus der Benutzeroberfläche der App, und dieses Feedback kann in eine User Story überführt werden. Als Entwickler können Sie direkt in das in den Metadaten des Feedbacks genannte Formular gelangen und die gewünschte Änderung umsetzen.
- Teammitglieder können beginnen Diskussionen in der App Buzz über implementierte Features (zum Beispiel auf einer Dashboard-Seite oder Business-Logik in einem Microflow). Aus diesen Diskussionen können neue User Stories erstellt und implementiert werden in Mendix Studio Pro. Wenn Sie die Modell-Commits mit der User Story verknüpfen, steht der vollständige Feedback-Zyklus bereit und wird auch mit Querverweisen versehen.
Wie verwende ich mein eigenes Repository anstelle von Mendix Team-Server?
Neben der Standardzentrale Mendix Team Server-Versionierungsrepository können Sie stattdessen Ihr eigenes lokales Git-Repository als Versionierungsrepository für Ihre Apps konfigurieren. Für Mendix 8 und 9 unterstützen wir auch lokale SVN-Repositorys.
Einzelheiten zur Einrichtung finden Sie unter Arbeiten mit dem Git On-Premises-Versionskontrollserver in England, Mendix Studio Pro-Handbuch.
Wie schneidet Mendix Unterstützt Branching und Merging?
Ein Entwicklungsprojekt beginnt immer mit einer einzigen Entwicklungslinie, der so genannten Hauptlinie. Dies ist die Entwicklungslinie, die innerhalb des Entwicklungsprozesses führend sein wird.
Eine Bereitstellung aus der Hauptlinie muss alle (freigegebenen) Funktionen der Anwendung enthalten. Zusätzlich zur Hauptlinie kann ein Projekt mehrere Zweiglinien haben. Zweige werden von einem bestimmten Commit (Revision) zur Hauptlinie oder einer Zweiglinie erstellt. Das Erstellen eines Zweigs bedeutet, dass eine Kopie der ausgewählten Revision erstellt wird, die als Startrevision für die neue Entwicklungslinie verwendet wird. Dies ermöglicht dem Entwickler, das Modell in einer isolierten Linie zu ändern. In den meisten Fällen wird eine Zweiglinie verwendet, um Probleme in einer freigegebenen Version der Anwendung zu lösen, während die laufende Entwicklung in der Hauptlinie fortgesetzt wird. Dies ermöglicht neue Entwicklungen in der Hauptlinie ohne die Freigabe von Funktionen, die noch nicht fertiggestellt oder getestet wurden. Nachdem Sie einen Zweig erstellt und das Problem gelöst haben (oder eine neue große Funktion erstellt haben), können diese Änderungen mit der Hauptlinie zusammengeführt werden.
Mit unserer MendixBei dem modellgetriebenen Entwicklungsansatz von erfolgt das Zusammenführen von Modellen mit einer höheren Genauigkeit als das Zusammenführen von Code. Dies liegt daran, dass Mendix versteht die Semantik der Modelle. Dadurch treten weniger Konflikte auf, und wenn Konflikte auftreten, können sie in Mendix Studio Pro durch die oben beschriebenen Konsistenzprüfungsmechanismen.
Mendix unterstützt das Erstellen und Zusammenführen von Zweigen im Mendix Team Server Versioning Repository. Darüber hinaus ist es möglich, bestimmte Revisionen mit einem Release-Label zu versehen. Dies ermöglicht es Teams, Branchenmuster wie Release-Branches und Feature-Branches zu verwenden. Standardmäßig ist das Mendix Bereitstellungspipelines verwenden außerdem Revisionsmarkierungen, um Versionsrevisionen mit bestimmten Bereitstellungspipeline-Momenten zu kennzeichnen. Dies kann zu Audit- und Versionsrollback-Zwecken verwendet werden.
Welche Versions-Repository-APIs sind für benutzerdefinierte Versionierungsintegrationen verfügbar?
Der Mendix Die Versionierungsfunktionalität wird bereitgestellt durch API im Team Server-Repository damit es von anderen Plattformdiensten oder externen Anwendungen aufgerufen werden kann. Beispielsweise ein Holen Sie sich das neueste Commit Ein Aufruf der Team Server-Versionierungs-Repository-API für ein App-Projekt gibt die neueste Revision der Artefakte für das Projekt zurück.
Wie kann ich nach der Durchführung eines Updates die von anderen Entwicklern vorgenommenen Änderungen überprüfen?
Beim Abrufen neuer Updates vom Mendix Team Server in Mendix Studio Pro hat der Entwickler die volle Kontrolle darüber, welche Änderungen er akzeptiert oder zurücknimmt. Nach dem Update werden alle Änderungen in das lokale Modell integriert. Wenn es einen Zusammenführungskonflikt zwischen den vom Entwickler vorgenommenen Änderungen und dem Update aus dem Mendix Team Server erhält der Entwickler eine Übersicht aller Merge-Konflikte. Anhand dieser Informationen kann entschieden werden, ob die lokale Änderung oder die Änderung vom Team Server verwendet werden soll.
Der Entwickler hat jederzeit die Kontrolle darüber, welche Änderungen und Zusammenführungskonflikte akzeptiert werden. Änderungen können auf die Originalversion zurückgesetzt werden, bevor die endgültige Version erneut auf den Team-Server übertragen wird.
Wie schneidet Mendix Unterstützt Versionsunterschiede und Konfliktlösung?
Mendix Studio Pro verfügt über integrierte Diffing-Unterstützung für das Anwendungsmodell. Das bedeutet, dass beide Versionen verglichen werden, wenn der Entwickler Änderungen aus dem Versionierungsrepository für alle App-Dokumente (wie Seiten, Mikroflüsse und Integrationen) abruft. Mendix Studio Pro prüft, ob es keine widersprüchlichen Änderungen gibt, und führt die beiden Versionen dann automatisch zusammen. Die resultierenden Änderungen können jederzeit überprüft werden, bevor die neueste Version erneut in das Versionierungsrepository übertragen wird. Der Entwickler hat die volle Kontrolle über den Prozess.
Was sind die Konfliktlösungsfähigkeiten in Mendix Studio Pro?
Wenn die Änderungen zu einem Konflikt führen (z. B. wenn Sie eine Seite ändern, die von einem anderen Entwickler gelöscht wurde), Mendix Studio Pro gibt die Rückmeldung, dass dieser Konflikt zuerst gelöst werden muss.
Mendix Studio Pro bietet Konfliktlösung, indem es detaillierte Informationen zu den Unterschieden zwischen zwei Versionen eines Dokuments anzeigt (wenn Sie beispielsweise eine Liste auf einer Seite bearbeiten und dann jemand anderes aus dem Team die Liste von dieser Seite löscht). Wenn ein Dokument als konfliktbehaftet markiert ist, können Sie die detaillierten Gründe für den Konflikt sehen und einen feinkörnigen Mechanismus zur Versionsauflösung verwenden. Sie müssen nicht zwischen ganzen Dokumenten wählen. Stattdessen können Sie Konflikte auf der Ebene einzelner Elemente innerhalb der Dokumente lösen (z. B. Widgets, Entitäten, Attribute oder Mikroflussaktionen). Alle nicht konfliktbehafteten Änderungen von beiden Seiten werden automatisch akzeptiert. Weitere Informationen zur Verwendung der Konfliktlösung finden Sie unter Neuer Merge-Algorithmus mit feinkörniger Konfliktlösung in England, Studio Pro-Handbuch.
Mendix Studio Pro kann Konflikte auch auf App-Ebene behandeln. Sie können einen App-Konflikt lösen, indem Sie „Meine Version“ auswählen oder die betroffenen Dokumente oder Ordner löschen.
Hier sind zwei Beispiele:
- Ein Entwickler löscht ein Dokument und ein anderer nimmt eine Änderung innerhalb dieses Dokuments vor.
- Beide Entwickler verschieben ein Dokument, aber an unterschiedliche Stellen im Baum
Wenn ein ganzer Ordner (oder ein Modul) gelöscht wurde und ein anderer Entwickler ein Dokument in diesem Ordner ändert, wird der Ordner lokal wiederhergestellt und auch als Konflikt gekennzeichnet. Auf diese Weise wissen Sie, dass der Ordner gelöscht werden sollte, aber wiederhergestellt wurde, um den Kontext des geänderten Dokuments anzuzeigen.
Wie kann ich Konflikte in externen Dateien wie Java-Klassen, Widgets und Bildern lösen?
Standardmäßig Mendix Studio Pro führt einen Diff-Vergleich für externe Dateien wie Java-Klassen durch. Wenn neue Versionen vorhanden sind oder Dateien gelöscht wurden, wird dies direkt von Mendix Studio Pro selbst.
Zur zusätzlichen Differenzierung oder Konfliktlösung bei externen Dateien können externe visuelle und Befehlszeilentools für Git und SVN verwendet werden.