Lokalna usługa kontroli wersji
Parent page: Tematy zaawansowane
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 lub opłacania zewnętrznego oprogramowania do zarządzania VCS.
Dzięki definiowaniu repozytoriów projektowych w ten 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. Gdy logujesz się do Enterprise Server, usługa Version Control działa w oparciu o Twoją sesję/poświadczenia.
- Repozytoria zdefiniowane w Enterprise Server (na stronie VCS (Admin – VCS) w przeglądarkowym interfejsie Workspace w 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 — i 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:
- Wyświetlanej nazwy, opisu i ścieżki repozytorium.
- Skonfigurowanej dostępności — którzy konkretni użytkownicy mogą mieć do nich dostęp (lub role w przypadku repozytoriów zdefiniowanych przez lokalną usługę Version Control).
- Dostępności operacyjnej — dodawania lub usuwania ich centralnie, zamiast tego, by poszczególni projektanci musieli niezależnie tworzyć i podłączać repozytoria.
Gdy użytkownik Altium Designer zaloguje się do Workspace, dostępne dla niego repozytoria projektowe zostaną automatycznie dodane na stronę Data Management – Design Repositories page w oknie dialogowym Preferences. Zwróć uwagę, że lista będzie również zawierać wszelkie repozytoria „niezarządzane”, które zostały ręcznie dodane z tej strony Preferences.
Centralnie zdefiniuj dostęp do repozytoriów projektowych w organizacji. Repozytoria mogą być wewnętrzne dla instalacji Enterprise Server, zdefiniowane przy użyciu lokalnej usługi Version Control, lub zewnętrzne — poprzez wbudowaną w Altium Designer obsługę SVN albo usługi SVN lub 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 repozytoria projektowe zostaną automatycznie dodane na stronę Data Management – Design Repositories w oknie dialogowym Preferences .
Dodawanie repozytorium
Aby dodać repozytorium projektowe, kliknij przycisk
znajdujący się w prawym górnym rogu strony. Pojawi się okno Add Repository, w którym zdefiniujesz 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 repozytorium projektowe zewnętrzne jest wyróżnione na liście repozytoriów poprzez zaznaczenie właściwości External
Aby później edytować właściwości repozytorium projektowego, kliknij powiązaną kontrolkę Edit Aby usunąć repozytorium projektowe, kliknij powiązaną kontrolkę Remove
Udostępnianie repozytorium
Po scentralizowaniu repozytoriów projektowych 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 właściwie zarządzanie jego uprawnieniami dostępu. Aby to zrobić, kliknij powiązaną z repozytorium kontrolkę Share
Pojawi się okno Manage Permissions ze wszystkimi elementami sterującymi niezbędnymi do udostępnienia repozytorium innym użytkownikom.
Gdy repozytoria projektowe są centralnie zorganizowane, udostępnianie innym sprowadza się po prostu do zarządzania uprawnieniami każdego repozytorium.
Rzeczy, o których warto pamiętać:
- Dla repozytorium lokalnego 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 roli 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 ról w Enterprise Server lub publicznie. Role są wyświetlane po użytkownikach indywidualnych.
- W zakresie uprawnień użytkownik/rola ma dostęp do odczytu/zapisu, gdy opcja Can Write jest włączona Jeśli ta opcja jest wyłączona, mają wyłącznie dostęp do odczytu.
- Aby odebrać istniejącemu użytkownikowi/roli udostępniony dostęp do repozytorium, kliknij powiązaną kontrolkę Remove
Udostępnianie repozytorium lokalnego użytkownikowi Workspace
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 z określoną grupą ról
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 ról zdefiniowanym w Twoim Workspace. Aby udostępnić lokalne (nie zewnętrzne) repozytorium innej grupie ról:
- Kliknij element sterujący Add Group w oknie Manage Permissions.

- W wyświetlonym oknie Add Groups zacznij wpisywać nazwę grupy ról w polu Select Groups to be added, aby wyświetlić listę pasujących ról. Wybierz wymaganą rolę z tej listy. Można wybrać wiele ról. Aby usunąć rolę, kliknij krzyżyk usuwania po prawej stronie jej nazwy.

- Ustaw uprawnienia dla grup(y) ról za pomocą pola Permission. Użyj listy rozwijanej, aby wybrać pomiędzy dostępem Read a dostępem Read/Write.

- Kliknij przycisk
, aby potwierdzić dodanie roli (ról) 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ę zarejestrowaną w zewnętrznym repozytorium (SVN lub Git), a więc mającą 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ć swojej odpowiadającej 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 Enterprise Server pokaże ścieżkę adresu względną względem Enterprise Server, czyli adres localhost komputera-hosta.
- Z poziomu Altium Designer, na stronie Data Management – Design Repositories page 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 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 podanie prawidłowych poświadczeń połączenia. Wprowadź nazwę i hasło konta użytkownika Workspace, aby kontynuować. Te poświadczenia są prawidłowe, jeśli:
- Konto użytkownika zostało dodane after utworzeniem repozytorium w Enterprise Server. Użytkowników, których dotyczą utworzone repozytoria, 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 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ć dostępu do hasła z tej pierwszej. Hasło jest przechowywane w usłudze Version Control w formacie zwykłego tekstu (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ć poprzez ręczne dodanie tych par nazwa/hasło do pliku passwd lub poprzez ponowne wprowadzenie hasła dla każdego profilu 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 (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 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).