Lokaler Versionskontrolldienst
Parent page: Erweiterte Themen
Die Installation des Enterprise Server stellt dank seines Version-Control-Dienstes eine lokalisierte (und zentralisierte) Versionsverwaltung bereit. Dieser Dienst bietet Versionsverwaltungsfunktionen genau dort, wo Sie sie benötigen – lokal, ohne nach externer VCS-Verwaltungssoftware suchen oder dafür bezahlen zu müssen.
Durch die zentrale Definition von Design-Repositories kann ein Unternehmen vollständig steuern, auf welche Repositories seine Entwickler zugreifen und welche sie verwenden können.
Wesentliche Vorteile
Die Verwendung dieses zentralisierten Version-Control-Dienstes bietet zwei wesentliche Vorteile:
- Sie verfügen über eine gemeinsame Benutzer- und Rechteverwaltung sowohl für Altium Designer als auch für SVN. Wenn Sie sich beim Enterprise Server anmelden, arbeitet der Version-Control-Dienst mit Ihrer Sitzung/Ihren Anmeldedaten.
- Repositories, die über den Enterprise Server definiert werden (über die Seite VCS (Admin – VCS) in der browserbasierten Oberfläche des Enterprise Server Workspace), werden bei der Anmeldung automatisch in Altium Designer übernommen, sodass sich Benutzer nicht um URLs, Protokolle, Kennwörter usw. kümmern müssen. Es wird einfach einmal auf dem Enterprise Server konfiguriert und bei Bedarf mit den vorgesehenen Benutzern geteilt.
Erstellen von Repositories
Repositories können über den lokalen Version-Control-Dienst erstellt werden (nur SVN), oder es kann eine Verbindung zu externen Repositories hergestellt werden (SVN oder Git). Alle Repositories zusammen werden zentral über die Seite VCS (Admin – VCS) in der browserbasierten Oberfläche des Workspace verwaltet, und zwar hinsichtlich:
- Ihres angezeigten Namens, ihrer Beschreibung und ihres Repository-Pfads.
- Ihrer konfigurierten Zugänglichkeit – welche bestimmten Benutzer darauf zugreifen können (oder Rollen im Fall von Repositories, die über den lokalen Version-Control-Dienst definiert wurden).
- Ihrer Verfügbarkeit – zentrales Hinzufügen oder Entfernen, anstatt dass einzelne Entwickler Repositories unabhängig erstellen und verbinden müssen.
Wenn sich ein Altium Designer-Benutzer am Workspace anmeldet, werden die für ihn verfügbaren Design-Repositories automatisch zur Seite Data Management – Design Repositories des Dialogs Preferences hinzugefügt. Beachten Sie, dass die Liste auch alle „nicht verwalteten“ Repositories enthält, die manuell über diese Seite Preferences hinzugefügt wurden.
Definieren Sie den Zugriff auf die Design-Repositories Ihres Unternehmens zentral. Repositories können intern in der Enterprise-Server-Installation liegen und mit dem lokalen Version-Control-Dienst definiert werden oder extern über das integrierte SVN von Altium Designer bzw. einen SVN- oder Git-Dienst eines Drittanbieters. Die Zugriffskontrolle erfolgt über die Seite VCS in der browserbasierten Oberfläche des Workspace. Wenn sich ein Benutzer am Workspace anmeldet, werden die für ihn verfügbaren Design-Repositories automatisch zur Seite Data Management – Design Repositories des Dialogs Preferences hinzugefügt.
Hinzufügen eines Repositorys
Um ein Design-Repository hinzuzufügen, klicken Sie auf die Schaltfläche
oben rechts auf der Seite. Das Fenster Add Repository wird angezeigt; verwenden Sie dieses, um das Repository zu definieren.
Die erforderlichen Eigenschaften hängen davon ab, ob Sie ein neues Repository mit dem lokalen Version-Control-Dienst erstellen oder eine Verknüpfung zu einem vorhandenen externen Repository herstellen:
- New – Geben Sie dem Repository einen Namen und eine Beschreibung.
- Existing – Zusätzlich zu Name und Beschreibung müssen Sie den URL zum Repository sowie gültige Anmeldedaten (User Name, Password) für den Zugriff auf dieses Repository angeben (falls erforderlich).
Erstellen Sie ein neues SVN-basiertes Design-Repository über den lokalen Version-Control-Dienst des Enterprise Server oder verknüpfen Sie ein vorhandenes Repository (SVN oder Git), das außerhalb des Enterprise Server erstellt wurde.
Ein verknüpftes externes Design-Repository ist in der Repository-Liste daran zu erkennen, dass seine Eigenschaft External aktiviert ist
Um die Eigenschaften eines Design-Repositorys später zu bearbeiten, klicken Sie auf das zugehörige Steuerelement Edit Um ein Design-Repository zu entfernen, klicken Sie auf das zugehörige Steuerelement Remove
Freigeben eines Repositorys
Nachdem Sie Ihre Design-Repositories zentralisiert haben, müssen Sie sicherstellen, dass diejenigen, die Zugriff auf ein bestimmtes Repository benötigen – einschließlich der Entwickler, die an Leiterplattendesigns arbeiten werden – diesen Zugriff auch haben. Dies wird erreicht, indem dieses Repository freigegeben bzw. seine Zugriffsberechtigungen verwaltet werden. Klicken Sie dazu auf das dem Repository zugeordnete Steuerelement Share
Das Fenster Manage Permissions wird angezeigt und enthält alle erforderlichen Steuerelemente, um das Repository für andere Benutzer freizugeben.
Wenn Design-Repositories zentral organisiert sind, besteht das Freigeben für andere einfach darin, die Berechtigungen jedes Repositorys zu verwalten.
Folgendes ist zu beachten:
- Für ein lokales Repository, das über den Version-Control-Dienst des Enterprise Server erstellt wurde (d. h. nicht extern), geben die Standardberechtigungen dieses Repository für den Benutzer frei, der das Repository erstellt hat, sowie für die Rolle Administrators. Beide haben vollständigen Lese-/Schreibzugriff.
- Ein externes Repository wird standardmäßig mit niemandem geteilt – nicht einmal mit dem Benutzer, der über die Oberfläche eine Verbindung dazu hinzugefügt hat.
- Nur lokale Repositories (nicht externe) können mit definierten Rollengruppen für den Enterprise Server oder öffentlich geteilt werden. Rollen werden nach einzelnen Benutzern aufgeführt.
- In Bezug auf Berechtigungen hat ein Benutzer/eine Rolle Lese-/Schreibzugriff, wenn die Option Can Write aktiviert ist Wenn diese Option deaktiviert ist, besteht nur Lesezugriff.
- Um einem vorhandenen Benutzer/einer vorhandenen Rolle den freigegebenen Zugriff auf ein Repository zu entziehen, klicken Sie auf das zugehörige Steuerelement Remove
Sharing a Local Repository with a Workspace User
So geben Sie ein lokales (nicht externes) Repository für einen anderen Workspace-Benutzer frei:
- Klicken Sie im Fenster Manage Permissions auf das Steuerelement Add User .

- Geben Sie im angezeigten Fenster Add Users im Feld Select Users to be added den vollständigen Namen, Benutzernamen oder die E-Mail-Adresse eines Workspace-Benutzers ein, damit eine Liste passender Benutzer eingeblendet wird. Wählen Sie den gewünschten Benutzer aus dieser Liste aus. Es können mehrere Benutzer ausgewählt werden. Um einen Benutzer zu entfernen, klicken Sie rechts neben seinem Namen auf das Löschsymbol.

- Legen Sie die Berechtigung für den/die Benutzer über das Feld Permission fest. Verwenden Sie die Dropdown-Liste, um zwischen Zugriff Read und Zugriff Read/Write zu wählen.

- Klicken Sie auf die Schaltfläche
, um das Hinzufügen des/der Benutzer(s) zu bestätigen und zum Fenster Manage Permissions zurückzukehren.

- Klicken Sie im Fenster Manage Permissions auf die Schaltfläche
.
Freigeben eines lokalen Repositorys für eine definierte Rollengruppe
Wenn das Repository über den lokalen Versionsverwaltungsdienst und nicht als externes Repository erstellt wurde, können Sie es auch für in Ihrem Workspace definierte Rollengruppen freigeben. So geben Sie ein lokales (nicht externes) Repository für eine andere Rollengruppe frei:
- Klicken Sie im Fenster Add Group auf das Steuerelement.

- Geben Sie im daraufhin angezeigten Fenster Add Groups im Feld Select Groups to be added den Namen einer Rollengruppe ein, damit eine Liste passender Rollen eingeblendet wird. Wählen Sie die gewünschte Rolle aus dieser Liste aus. Es können mehrere Rollen ausgewählt werden. Um eine Rolle zu entfernen, klicken Sie rechts neben ihrem Namen auf das Löschkreuz.

- Legen Sie die Berechtigung für die Rollengruppe(n) über das Feld Permission fest. Verwenden Sie die Dropdown-Liste, um zwischen Read-Zugriff und Read/Write-Zugriff zu wählen.

- Klicken Sie auf die Schaltfläche
, um das Hinzufügen der Rolle(n) zu bestätigen und zum Fenster Manage Permissions zurückzukehren.

- Klicken Sie im Fenster
auf die Schaltfläche Manage Permissions.
Freigeben eines lokalen Repositorys für alle Benutzer
Wenn das Repository über den lokalen Versionsverwaltungsdienst und nicht als externes Repository erstellt wurde, können Sie dieses Repository auch für alle Workspace-Benutzer freigeben. So geben Sie ein lokales (nicht externes) Repository für alle frei, die sich am Workspace anmelden können:
- Klicken Sie im Fenster Add Anyone auf das Steuerelement.

- Der Eintrag Anyone wird direkt zur Liste der freigegebenen Entitäten hinzugefügt und automatisch mit Lese-/Schreibzugriff freigegeben.

- Klicken Sie im Fenster
auf die Schaltfläche Manage Permissions.
Freigeben eines externen Repositorys für einen Workspace-Benutzer
So geben Sie ein externes Repository für einen Workspace-Benutzer frei:
- Klicken Sie im Fenster Add User auf das Steuerelement.

- Geben Sie im daraufhin angezeigten Fenster Add Users im Feld Select Users to be added den vollständigen Namen, Benutzernamen oder die E-Mail-Adresse eines Workspace-Benutzers ein, damit eine Liste passender Benutzer eingeblendet wird. Wählen Sie den gewünschten Benutzer aus dieser Liste aus. Um den Benutzer zu entfernen, klicken Sie rechts neben seinem Namen auf das Löschkreuz.
Im Feld SVN User geben Sie einen Namen ein, der beim externen Repository (SVN oder Git) registriert ist und daher Zugriff hat. In der Regel ist dies der entsprechende Name eines Benutzers, der beim Repository registriert ist

- Klicken Sie auf die Schaltfläche
, um das Hinzufügen des Benutzers zu bestätigen und zum Fenster Manage Permissions zurückzukehren. Klicken Sie auf Add User, um weitere Benutzer hinzuzufügen, wie oben in Schritt 2 beschrieben. Beachten Sie, dass im zweiten Beispielbild unten für den Benutzer Barrysein entsprechender Repository-NameBarrySmithverwendet wurde und nicht der allgemeine NameServerAdmin.

- Klicken Sie im Fenster
auf die Schaltfläche Manage Permissions.
Externer Zugriff auf ein lokales SVN-Design-Repository
Ein Design Repository, das über den lokalen Versionsverwaltungsdienst des Enterprise Server erstellt wurde, kann mit einem SVN-Client wie TortoiseSVN aufgerufen werden. Der Zugriff erfolgt über das reguläre Netzwerkprotokoll (der svn:// wird derzeit unterstützt). Die korrekte Repository-Adresse kann an zwei Stellen aufgerufen/kopiert werden:
- Auf der Seite VCS der browserbasierten Oberfläche des Workspace – im Feld Repository Path für das Ziel-Repository.
Ein vom Enterprise Server erstelltes „internes“ Repository zeigt seinen Adresspfad relativ zum Enterprise Server an; dies ist die localhost-Adresse des Host-PCs.
- Innerhalb von Altium Designer auf der Seite Data Management – Design Repositories des Dialogs Preferences – im Feld Repository für das Ziel-Repository.
Aus Sicht von Altium Designer – oder jeder Anwendung, die nicht auf dem Host-PC des Enterprise Server läuft – basieren die Repository-Adresspfade auf dem Namen ihres Host-PCs.
Verwenden Sie die ermittelte Adresse in der Repository-Browsing-Funktion Ihres Subversion-Clients. Beim ersten Zugriff wird ein zwischengeschalteter Dialog Authentication geöffnet, in dem gültige Verbindungsanmeldedaten angefordert werden. Geben Sie den Namen und das Passwort eines Workspace-Benutzerkontos ein, um fortzufahren. Diese Anmeldedaten sind gültig, wenn:
- das Benutzerkonto hinzugefügt wurde, after das Repository im Enterprise Server erstellt wurde. Die Benutzer, die für erstellte Repositorys gelten, sind in der Datei
passwdim Ordner\ProgramData\Altium\Altium365Data\Repositoryauf dem Enterprise-Server-PC zu sehen – siehe unten. - das Repository für das Benutzerkonto freigegeben wurde, indem dieser Benutzername über den Befehl Add User im Fenster Manage Permissions for <repository name> des Servers hinzugefügt wurde. Dies ist in der Datei
authzdes Repositorys ersichtlich, die sich im Ordner\ProgramData\Altium\Altium365Data\Repositoryauf dem Enterprise-Server-PC befindet.
Durchsuchen des Inhalts eines Design Repositorys, das über den lokalen SVN-basierten Versionsverwaltungsdienst der Enterprise-Server-Installation erstellt wurde.
Enterprise Server & VCS-Benutzersynchronisierung
Wenn ein neuer Benutzer für den Workspace erstellt wird, werden die definierten Anmeldedaten (User Name und Password) für diesen Benutzer sowohl in der Datenbank des Enterprise Server als auch im Versionsverwaltungsdienst gespeichert, da Letzterer nicht direkt auf das Passwort aus Ersterer zugreifen kann. Das Passwort wird beim Versionsverwaltungsdienst im Klartextformat gespeichert (in der Datei \ProgramData\Altium\Altium365Data\Repository\passwd).
Die Einträge in dieser Liste ermöglichen den Zugriff auf das SVN-Repository des Enterprise Server bei der Arbeit mit dem Dienst über Altium Designer. Es kann vorkommen, dass die Anmeldedaten eines Benutzers nicht in der Datei enthalten sind, etwa wenn Workspace-Benutzer bereits vorhanden sind, wenn das erste SVN-Repository erstellt wird (und nicht umgekehrt). Dies kann behoben werden, indem diese Namens-/Passwort-Kombinationen manuell zur Datei passwd hinzugefügt werden oder indem das Passwort für jedes Benutzerprofil im Workspace erneut eingegeben wird – der letztgenannte Ansatz füllt die Datei passwd entsprechend auf, ohne dass ein direkter Zugriff auf den Enterprise-Server-PC erforderlich ist.
Bei einer Standardinstallation des Enterprise Server werden die Benutzeranmeldedaten für den Versionsverwaltungsdienst in der zugehörigen Datei Passwd gespeichert.
Löschen eines Repositorys
Um ein Repository aus dem Versionsverwaltungsdienst des Enterprise Server zu löschen, klicken Sie auf das dem betreffenden Repository zugeordnete Steuerelement Remove auf der Seite VCS der browserbasierten Oberfläche des Workspace.
Einträge externer Repositorys können gelöscht werden, unabhängig davon, ob das Repository Projekte enthält oder nicht. Lokale Repositorys hingegen (die intern über den Versionsverwaltungsdienst des Enterprise Server erstellt wurden) können nicht gelöscht werden, wenn sie ein oder mehrere Projekte enthalten. Sie werden darauf hingewiesen und sollten zuerst die Projekte entfernen, bevor Sie mit dem Löschen fortfahren können.
Selbst dann wird ein lokales Repository, wenn es keine Projekte enthält, nicht tatsächlich gelöscht, sondern in ein Archivverzeichnis verschoben (\ProgramData\Altium\Altium365Data\RepositoryDumps, bei einer Standardinstallation des Enterprise Server). Das Repository befindet sich dann in einer Dump-Datei mit einem Präfix aus einer eindeutigen ID (z. B. 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).