Lokaler Versionskontrolldienst
Parent page: Erweiterte Themen
Die Installation des Enterprise Server stellt dank seines Version-Control-Service eine lokalisierte (und zentralisierte) Versionsverwaltung bereit. Dieser Service bietet Möglichkeiten zur Versionsverwaltung genau dort, wo Sie sie benötigen – lokal, ohne nach externer VCS-Verwaltungssoftware suchen oder dafür bezahlen zu müssen.
Durch die Definition von Design-Repositories auf diese zentralisierte Weise 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-Service 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-Service 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, Passwörter usw. kümmern müssen. Es wird einfach einmal auf dem Enterprise Server konfiguriert und bei Bedarf mit den vorgesehenen Benutzern geteilt.
Repository-Erstellung
Repositories können über den lokalen Version-Control-Service erstellt werden (nur SVN), oder es kann eine Verbindung zu externen Repositories hergestellt werden (SVN oder Git). Zusammen werden alle Repositories 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 spezifischen Benutzer darauf zugreifen können (oder Rollen im Fall von Repositories, die über den lokalen Version-Control-Service definiert wurden).
- Ihrer Verfügbarkeit – sie zentral hinzuzufügen oder zu entfernen, anstatt dass einzelne Entwickler Repositories unabhängig erstellen und verbinden müssen.
Wenn sich ein Altium Designer-Benutzer beim 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 „unmanaged“ 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 sein, definiert über den lokalen Version-Control-Service, oder extern durch Verwendung des integrierten SVN von Altium Designer oder eines SVN- oder Git-Dienstes eines Drittanbieters. Die Zugriffskontrolle erfolgt über die Seite VCS in der browserbasierten Oberfläche des Workspace. Wenn sich ein Benutzer beim 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 es, um das Repository zu definieren.
Die erforderlichen Eigenschaften hängen davon ab, ob Sie ein neues Repository über den lokalen Version-Control-Service erstellen oder eine Verknüpfung zu einem vorhandenen externen Repository herstellen:
- New – geben Sie dem Repository einfach 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-Service des Enterprise Server oder verknüpfen Sie es mit einem vorhandenen Repository (SVN oder Git), das außerhalb des Enterprise Server erstellt wurde.
Ein verknüpftes externes Design-Repository wird in der Repository-Liste dadurch gekennzeichnet, dass seine Eigenschaft External aktiviert ist
Um die Eigenschaften eines Design-Repositorys zu einem späteren Zeitpunkt 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 mit anderen Benutzern zu teilen.
Wenn Design-Repositories zentral organisiert sind, besteht das Teilen mit anderen einfach darin, die Berechtigungen jedes Repositorys zu verwalten.
Folgendes ist zu beachten:
- Für ein lokales Repository, das über den Version-Control-Service des Enterprise Server erstellt wurde (d. h. nicht extern), teilen die Standardberechtigungen dieses Repository mit dem Benutzer, der das Repository erstellt hat, sowie mit der Rolle Administrators. Beide haben vollständigen Lese-/Schreibzugriff.
- Für 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öschkreuz.
- 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 Benutzers/der Benutzer 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 über ein 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 Manage Permissions auf das Steuerelement Add Group .
- 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öschsymbol.
- Legen Sie die Berechtigung für die Rollengruppe(n) ü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 der Rolle(n) 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 alle Benutzer
Wenn das Repository über den lokalen Versionsverwaltungsdienst und nicht über ein 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 jeden frei, der sich am Workspace anmelden kann:
- Klicken Sie im Fenster Manage Permissions auf das Steuerelement Add Anyone .
- Der Eintrag Anyone wird direkt zur Liste der freigegebenen Elemente hinzugefügt und automatisch mit Lese-/Schreibzugriff freigegeben.
-
Klicken Sie im Fenster Manage Permissions auf die Schaltfläche
.
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 Manage Permissions auf das Steuerelement Add User .
-
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öschsymbol.
Geben Sie im Feld SVN User einen Namen ein, der beim externen Repository (SVN oder Git) registriert ist und daher Zugriff hat. In der Regel ist dies der entsprechende, beim Repository registrierte Name eines Benutzers.
-
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 in Schritt 2 oben 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 Manage Permissions auf die Schaltfläche
.
Externer Zugriff auf ein lokales SVN-Design-Repository
Auf ein Design-Repository, das über den lokalen Versionsverwaltungsdienst des Enterprise Server erstellt wurde, kann mit einem SVN-Client wie TortoiseSVN zugegriffen 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 Browseroberfläche des Workspace – im Feld Repository Path für das Ziel-Repository.
Ein „internes“ Repository, das vom Enterprise Server erstellt wurde, zeigt seinen Adresspfad relativ zum Enterprise Server an; dies ist die localhost-Adresse des Host-PCs.
- In Altium Designer auf der Seite Data Management – Design Repositories page 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 ausgeführt wird – basieren die Repository-Adresspfade auf dem Namen ihrer Host-PCs.
Verwenden Sie die ermittelte Adresse in der Repository-Browse-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, auf SVN basierenden 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 letztere 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 Steuerelement Remove , das diesem Repository auf der Seite VCS der browserbasierten Oberfläche des Workspace zugeordnet ist.
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).












