Lokalna usługa kontroli wersji
Instalacja Enterprise Server zapewnia lokalną (i scentralizowaną) kontrolę wersji dzięki usłudze Version Control. Usługa ta udostępnia możliwości kontroli wersji dokładnie tam, gdzie są potrzebne — lokalnie — bez konieczności szukania ani płacenia za zewnętrzne oprogramowanie do zarządzania VCS.
Dzięki definiowaniu repozytoriów projektowych w tak scentralizowany sposób organizacja może w pełni kontrolować, do których repozytoriów jej projektanci mają dostęp i z których mogą korzystać.
Kluczowe zalety
Istnieją dwie kluczowe zalety korzystania z tej scentralizowanej usługi Version Control:
- Masz wspólnych użytkowników i zarządzanie uprawnieniami zarówno dla Altium Designer, jak i SVN. Po zalogowaniu do Enterprise Server usługa Version Control działa w oparciu o Twoją sesję/poświadczenia.
- Repozytoria zdefiniowane przez Enterprise Server (na stronie VCS (Admin – VCS) w przeglądarkowym interfejsie Workspace Enterprise Server) są automatycznie udostępniane w Altium Designer podczas logowania, dzięki czemu użytkownicy nie muszą martwić się o adresy URL, protokoły, hasła itp. Konfigurujesz to tylko raz na Enterprise Server, a następnie udostępniasz wskazanym użytkownikom zgodnie z potrzebą.
Tworzenie repozytorium
Repozytoria można tworzyć za pomocą lokalnej usługi Version Control (tylko SVN) lub można podłączać repozytoria zewnętrzne (SVN lub Git). Łącznie wszystkie repozytoria są centralnie zarządzane na stronie VCS (Admin – VCS) w przeglądarkowym interfejsie Workspace w zakresie:
- Ich wyświetlanej nazwy, opisu i ścieżki repozytorium.
- Skonfigurowanej dostępności — którzy konkretni użytkownicy mogą mieć do nich dostęp (lub grupy w przypadku repozytoriów zdefiniowanych przez lokalną usługę Version Control).
- Ich dostępności operacyjnej — dodawania lub usuwania centralnie, zamiast tego, by poszczególni projektanci musieli samodzielnie tworzyć i podłączać repozytoria.
Gdy użytkownik Altium Designer zaloguje się do Workspace, dostępne dla niego Design Repositories zostaną automatycznie dodane na stronie Data Management – Design Repositories page w oknie dialogowym Preferences. Zwróć uwagę, że lista będzie również zawierać wszelkie „niezarządzane” repozytoria, które zostały ręcznie dodane z tej strony Preferences.
Centralnie zdefiniuj dostęp do Design Repositories w swojej organizacji. Repozytoria mogą być wewnętrzne dla instalacji Enterprise Server, zdefiniowane przy użyciu lokalnej usługi Version Control, albo zewnętrzne — poprzez wbudowaną w Altium Designer obsługę SVN lub usługi SVN/Git firm trzecich. Kontrola dostępu jest realizowana na stronie VCS w przeglądarkowym interfejsie Workspace. Gdy użytkownik zaloguje się do Workspace, dostępne dla niego Design Repositories zostaną automatycznie dodane na stronie Data Management – Design Repositories okna dialogowego Preferences .
Dodawanie repozytorium
Aby dodać Design Repository, kliknij przycisk
znajdujący się w prawym górnym rogu strony. Pojawi się okno Add Repository — użyj go do zdefiniowania repozytorium.
Wymagane właściwości zależą od tego, czy tworzysz nowe repozytorium przy użyciu lokalnej usługi Version Control, czy łączysz się z istniejącym repozytorium zewnętrznym:
- New – nadaj repozytorium nazwę i opis.
- Existing – oprócz nazwy i opisu musisz podać URL do repozytorium oraz prawidłowe poświadczenia (User Name, Password) umożliwiające dostęp do tego repozytorium (jeśli są wymagane).
Utwórz nowe repozytorium projektowe oparte na SVN za pomocą lokalnej usługi Version Control w Enterprise Server lub podłącz istniejące repozytorium (SVN lub Git), które zostało utworzone poza Enterprise Server.
Podłączone, zewnętrzne Design Repository jest wyróżnione na liście repozytoriów poprzez zaznaczenie właściwości External
Aby później edytować właściwości Design Repository, kliknij powiązaną z nim kontrolkę Edit Aby usunąć Design Repository, kliknij powiązaną z nim kontrolkę Remove
Udostępnianie repozytorium
Po scentralizowaniu Design Repositories musisz upewnić się, że osoby wymagające dostępu do danego repozytorium — w tym projektanci pracujący nad projektami płytek — mają ten dostęp. Osiąga się to poprzez udostępnienie repozytorium, a dokładniej zarządzanie jego uprawnieniami dostępu. Aby to zrobić, kliknij powiązaną z repozytorium kontrolkę Share
Pojawi się okno Manage Permissions z wszystkimi kontrolkami niezbędnymi do udostępnienia repozytorium innym użytkownikom.
Gdy Design Repositories są centralnie uporządkowane, udostępnianie innym sprowadza się po prostu do zarządzania uprawnieniami każdego repozytorium.
Rzeczy, o których warto pamiętać:
- Dla lokalnego repozytorium utworzonego przez usługę Version Control w Enterprise Server (tj. nie zewnętrznego) domyślne uprawnienia udostępniają to repozytorium użytkownikowi, który je utworzył, oraz grupie Administrators. Oba te podmioty mają pełny dostęp do odczytu/zapisu.
- Dla repozytorium zewnętrznego domyślnie nie jest ono udostępnione nikomu — nawet użytkownikowi, który dodał do niego połączenie przez interfejs.
- Tylko repozytoria lokalne (nie zewnętrzne) mogą być udostępniane zdefiniowanym grupom w Enterprise Server lub publicznie. Grupy są wyświetlane po użytkownikach indywidualnych.
- W zakresie uprawnień użytkownik/grupa ma dostęp do odczytu/zapisu, gdy opcja Can Write jest włączona Jeśli ta opcja jest wyłączona, mają tylko dostęp do odczytu.
- Aby usunąć istniejącego użytkownika/grupę z udostępnionego dostępu do repozytorium, kliknij powiązaną kontrolkę Remove
Sharing a Local Repository with a Workspace User
Aby udostępnić lokalne (nie zewnętrzne) repozytorium innemu użytkownikowi Workspace :
- Kliknij kontrolkę Add User w oknie Manage Permissions.
- W wyświetlonym oknie Add Users zacznij wpisywać imię i nazwisko, nazwę użytkownika lub adres e-mail użytkownika Workspace w polu Select Users to be added, aby wyświetlić listę pasujących użytkowników. Wybierz wymaganego użytkownika z tej listy. Można wybrać wielu użytkowników. Aby usunąć użytkownika, kliknij krzyżyk usuwania po prawej stronie jego nazwy.
- Ustaw uprawnienia dla użytkownika(ów) w polu Permission. Użyj listy rozwijanej, aby wybrać dostęp Read lub dostęp Read/Write.
-
Kliknij przycisk
, aby potwierdzić dodanie użytkownika(ów) i wrócić do okna Manage Permissions.
-
Kliknij przycisk
w oknie Manage Permissions.
Udostępnianie lokalnego repozytorium zdefiniowanej grupie
Jeśli repozytorium zostało utworzone za pośrednictwem lokalnej usługi Version Control, a nie jako repozytorium zewnętrzne, masz również możliwość udostępniania go grupom zdefiniowanym dla Twojego Workspace. Aby udostępnić lokalne (nie zewnętrzne) repozytorium innej grupie:
- Kliknij element sterujący Add Group w oknie Manage Permissions.
- W wyświetlonym oknie Add Groups zacznij wpisywać nazwę grupy w polu Select Groups to be added, aby wyświetlić listę pasujących grup. Wybierz wymaganą grupę z tej listy. Można wybrać wiele grup. Aby usunąć grupę, kliknij krzyżyk usuwania po prawej stronie jej nazwy.
- Ustaw uprawnienia dla grup(y) za pomocą pola Permission. Użyj listy rozwijanej, aby wybrać między dostępem Read a dostępem Read/Write.
-
Kliknij przycisk
, aby potwierdzić dodanie grup(y) i wrócić do okna Manage Permissions.
-
Kliknij przycisk
w oknie Manage Permissions.
Udostępnianie lokalnego repozytorium wszystkim użytkownikom
Jeśli repozytorium zostało utworzone za pośrednictwem lokalnej usługi Version Control, a nie jako repozytorium zewnętrzne, masz również możliwość udostępnienia tego repozytorium wszystkim użytkownikom Workspace. Aby udostępnić lokalne (nie zewnętrzne) repozytorium każdemu, kto może zalogować się do Workspace:
- Kliknij element sterujący Add Anyone w oknie Manage Permissions.
- Wpis Anyone zostanie dodany bezpośrednio do listy udostępnionych podmiotów i automatycznie udostępniony z dostępem do odczytu/zapisu.
-
Kliknij przycisk
w oknie Manage Permissions.
Udostępnianie zewnętrznego repozytorium użytkownikowi Workspace
Aby udostępnić zewnętrzne repozytorium użytkownikowi Workspace:
- Kliknij element sterujący Add User w oknie Manage Permissions.
-
W wyświetlonym oknie Add Users zacznij wpisywać imię i nazwisko, nazwę użytkownika lub adres e-mail użytkownika Workspace w polu Select Users to be added, aby wyświetlić listę pasujących użytkowników. Wybierz wymaganego użytkownika z tej listy. Aby usunąć użytkownika, kliknij krzyżyk usuwania po prawej stronie jego nazwy.
W polu SVN User wprowadź nazwę, która jest zarejestrowana w zewnętrznym repozytorium (SVN lub Git) i w związku z tym ma dostęp. Zwykle będzie to odpowiadająca nazwa użytkownika zarejestrowana w repozytorium
-
Kliknij przycisk
, aby potwierdzić dodanie użytkownika i wrócić do okna Manage Permissions. Kliknij Add User, aby dodać kolejnych użytkowników zgodnie z krokiem 2 powyżej. Zwróć uwagę, że w drugim przykładowym obrazie poniżej użytkownik Barryzostał ustawiony tak, aby używać odpowiadającej mu nazwy repozytoriumBarrySmith, zamiast ogólnej nazwyServerAdmin.
-
Kliknij przycisk
w oknie Manage Permissions.
Zewnętrzny dostęp do lokalnego repozytorium projektowego SVN
Repozytorium projektowe utworzone za pośrednictwem lokalnej usługi Version Control w Enterprise Server może być dostępne przy użyciu klienta SVN, takiego jak TortoiseSVN. Dostęp odbywa się z użyciem standardowego protokołu sieciowego (obecnie obsługiwany jest svn://). Poprawny adres repozytorium można uzyskać/skopiować z dwóch miejsc:
- Strona VCS w interfejsie przeglądarkowym Workspace – w polu Repository Path dla docelowego repozytorium.
„Wewnętrzne” repozytorium utworzone z poziomu Enterprise Server pokaże ścieżkę adresu względem Enterprise Server, czyli adres localhost komputera-hosta.
- Z poziomu Altium Designer, na stronie Data Management – Design Repositories w oknie dialogowym Preferences – w polu Repository dla docelowego repozytorium.
Z perspektywy Altium Designer – lub dowolnej aplikacji nieuruchomionej na komputerze-hoscie Enterprise Server – ścieżki adresów repozytorium są oparte na nazwie ich komputerów-hostów.
Użyj uzyskanego adresu w funkcji przeglądania repozytorium w kliencie Subversion. Przy pierwszym dostępie otworzy się pośrednie okno dialogowe Authentication z prośbą o prawidłowe poświadczenia połączenia. Aby kontynuować, wprowadź nazwę i hasło konta użytkownika Workspace. Te poświadczenia są prawidłowe, jeśli:
-
Konto użytkownika zostało dodane after repozytorium zostało utworzone w Enterprise Server. Użytkowników, których to dotyczy w przypadku utworzonych repozytoriów, można zobaczyć w pliku
passwdznajdującym się w folderze\ProgramData\Altium\Altium365Data\Repositoryna komputerze Enterprise Server – patrz poniżej. -
Repozytorium zostało udostępnione temu kontu użytkownika poprzez dodanie tej nazwy użytkownika za pomocą polecenia Add User w oknie Manage Permissions for <repository name> serwera. Jest to widoczne w pliku
authzrepozytorium, znajdującym się w folderze\ProgramData\Altium\Altium365Data\Repositoryna komputerze Enterprise Server.
Przeglądanie zawartości repozytorium projektowego utworzonego przez lokalną usługę Version Control opartą na SVN w instalacji Enterprise Server.
Enterprise Server & synchronizacja użytkowników VCS
Gdy tworzony jest nowy użytkownik dla Workspace, zdefiniowane poświadczenia (User Name i Password) dla tego użytkownika są zapisywane zarówno w bazie danych Enterprise Server, jak i w usłudze Version Control, ponieważ ta druga nie może bezpośrednio uzyskać hasła z tej pierwszej. Hasło jest przechowywane w usłudze Version Control w formacie jawnym (w pliku \ProgramData\Altium\Altium365Data\Repository\passwd).
Wpisy na tej liście zapewniają dostęp do repozytorium SVN Enterprise Server podczas pracy z usługą przez Altium Designer. Mogą zdarzyć się sytuacje, w których poświadczenia użytkownika nie są uwzględnione w pliku, na przykład gdy użytkownicy Workspace już istnieją w momencie tworzenia pierwszego repozytorium SVN (a nie odwrotnie). Można to rozwiązać, ręcznie dodając te pary nazwa/hasło do pliku passwd lub ponownie wprowadzając hasło dla profilu każdego użytkownika w Workspace – to drugie podejście uzupełni odpowiednio plik passwd i nie będzie wymagało bezpośredniego dostępu do komputera Enterprise Server.
W domyślnej instalacji Enterprise Server poświadczenia użytkowników są przechowywane dla usługi Version Control w powiązanym pliku Passwd.
Usuwanie repozytorium
Aby usunąć repozytorium z usługi Version Control w Enterprise Server, kliknij element sterujący Remove powiązany z tym repozytorium na stronie VCS w przeglądarkowym interfejsie Workspace.
Wpisy repozytoriów zewnętrznych można usuwać niezależnie od tego, czy repozytorium zawiera jakiekolwiek projekty. Z kolei repozytoria lokalne (te utworzone wewnętrznie przez usługę Version Control w Enterprise Server) nie mogą zostać usunięte, jeśli zawierają jeden lub więcej projektów. Zostaniesz o tym poinformowany i przed kontynuowaniem usuwania należy najpierw usunąć projekty.
Nawet wtedy, jeśli lokalne repozytorium nie ma projektów, nie zostanie ono faktycznie usunięte, lecz przeniesione do katalogu archiwum (\ProgramData\Altium\Altium365Data\RepositoryDumps, dla domyślnej instalacji Enterprise Server). Repozytorium będzie zawarte w pliku Dump z prefiksem unikalnego identyfikatora (np. 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).