Локальная служба контроля версий
Установка Enterprise Server предоставляет локализованное (и централизованное) управление версиями благодаря своей службе Version Control. Эта служба дает возможности контроля версий именно там, где они нужны — локально, без необходимости искать или оплачивать внешнее ПО для управления VCS.
Определяя репозитории проектов таким централизованным образом, организация может полностью контролировать, к каким репозиториям ее разработчики имеют доступ и какие могут использовать.
Ключевые преимущества
Есть два ключевых преимущества использования этой централизованной службы Version Control:
- У вас единые пользователи и управление правами как для Altium Designer, так и для SVN. Когда вы входите в Enterprise Server, служба Version Control работает с вашей сессией/учетными данными.
- Репозитории, определенные через Enterprise Server (на странице VCS (Admin – VCS) в браузерном интерфейсе Workspace Enterprise Server), автоматически подгружаются в Altium Designer при входе, поэтому пользователям не нужно беспокоиться об URL, протоколах, паролях и т. п. Все настраивается один раз на Enterprise Server и при необходимости предоставляется нужным пользователям.
Создание репозитория
Репозитории можно создавать через локальную службу Version Control (только SVN) или подключать внешние репозитории (SVN или Git). Все репозитории вместе централизованно управляются через страницу VCS (Admin – VCS) в браузерном интерфейсе Workspace в части:
- Отображаемого имени, описания и пути репозитория.
- Настроенной доступности — какие конкретно пользователи могут получать к ним доступ (или группы в случае репозиториев, определенных через локальную службу Version Control).
- Наличия — добавлять или удалять их централизованно, вместо того чтобы отдельные разработчики создавали и подключали репозитории самостоятельно.
Когда пользователь Altium Designer входит в Workspace, доступные ему Design Repositories автоматически добавляются на страницу Data Management – Design Repositories page диалога Preferences. Обратите внимание: список также будет включать любые «неуправляемые» репозитории, которые были вручную добавлены с этой страницы Preferences.
Централизованно определяйте доступ к Design Repositories вашей организации. Репозитории могут быть внутренними для установки Enterprise Server, определенными с помощью локальной службы Version Control, или внешними — через встроенный в Altium Designer SVN либо стороннюю службу SVN или Git. Управление доступом выполняется на странице VCS в браузерном интерфейсе Workspace. Когда пользователь входит в Workspace, доступные ему Design Repositories автоматически добавляются на страницу Data Management – Design Repositories диалога Preferences .
Добавление репозитория
Чтобы добавить Design Repository, нажмите кнопку
, расположенную в правом верхнем углу страницы. Появится окно Add Repository, используйте его для задания репозитория.
Требуемые свойства зависят от того, создаете ли вы новый репозиторий с помощью локальной службы Version Control или привязываете существующий внешний репозиторий:
- New – задайте имя и описание репозитория.
- Existing – помимо имени и описания, нужно указать URL к репозиторию и корректные учетные данные (User Name, Password) для доступа к нему (если требуется).
Создайте новый Design Repository на базе SVN через локальную службу Version Control Enterprise Server или привяжите существующий репозиторий (SVN или Git), созданный вне Enterprise Server.
Привязанный внешний Design Repository отличается в списке репозиториев тем, что у него отмечено свойство External
Чтобы позже отредактировать свойства Design Repository, нажмите соответствующий элемент управления Edit Чтобы удалить Design Repository, нажмите соответствующий элемент управления Remove
Предоставление доступа к репозиторию
После централизации Design Repositories необходимо убедиться, что те, кому нужен доступ к конкретному репозиторию — включая разработчиков, которые будут работать над проектами плат — этот доступ имеют. Это достигается «шарингом» репозитория, то есть управлением его правами доступа. Для этого нажмите связанный с репозиторием элемент управления Share
Появится окно Manage Permissions со всеми элементами управления, необходимыми для предоставления доступа к репозиторию другим пользователям.
При централизованной организации Design Repositories предоставление доступа другим сводится к управлению правами каждого репозитория.
Что важно учитывать:
- Для локального репозитория, созданного через службу Version Control Enterprise Server (т. е. не внешнего), права по умолчанию предоставляют доступ к репозиторию пользователю, создавшему репозиторий, и группе Administrators. Оба имеют полный доступ Read/Write.
- Для внешнего репозитория по умолчанию доступ не предоставляется никому — даже пользователю, который добавил к нему подключение через интерфейс.
- Только локальные репозитории (не внешние) можно расшаривать на определенные группы Enterprise Server или публично. Группы перечисляются после отдельных пользователей.
- С точки зрения прав, пользователь/группа имеет доступ Read/Write, когда включена опция Can Write Если эта опция выключена, доступ только Read.
- Чтобы убрать у существующего пользователя/группы общий доступ к репозиторию, нажмите соответствующий элемент управления Remove
Sharing a Local Repository with a Workspace User
Чтобы предоставить доступ к локальному (не внешнему) репозиторию другому пользователю Workspace:
- Нажмите элемент управления Add User в окне Manage Permissions.
- В появившемся окне Add Users начните вводить полное имя, имя пользователя или адрес электронной почты пользователя Workspace в поле Select Users to be added, чтобы появился список совпадающих пользователей. Выберите нужного пользователя из списка. Можно выбрать нескольких пользователей. Чтобы удалить пользователя, нажмите крестик удаления справа от его имени.
- Задайте права для пользователя(ей) с помощью поля Permission. В выпадающем списке выберите доступ Read или доступ Read/Write.
-
Нажмите кнопку
, чтобы подтвердить добавление пользователя(ей) и вернуться в окно Manage Permissions.
-
Нажмите кнопку
в окне Manage Permissions.
Sharing a Local Repository with a defined Group
Если репозиторий был создан с помощью локальной службы Version Control, а не внешнего репозитория, то у вас также есть возможность предоставить доступ группам, определённым для вашего Workspace. Чтобы поделиться локальным (не внешним) репозиторием с другой группой:
- Нажмите элемент управления Add Group в окне Manage Permissions.
- В появившемся окне Add Groups начните вводить имя группы в поле Select Groups to be added, чтобы отобразился список подходящих групп. Выберите нужную группу из этого списка. Можно выбрать несколько групп. Чтобы удалить группу, нажмите крестик удаления справа от её имени.
- Задайте права для группы(групп) с помощью поля Permission. В раскрывающемся списке выберите между доступом Read или доступом Read/Write.
-
Нажмите кнопку
, чтобы подтвердить добавление группы(групп) и вернуться в окно Manage Permissions.
-
Нажмите кнопку
в окне Manage Permissions.
Sharing a Local Repository with All Users
Если репозиторий был создан с помощью локальной службы Version Control, а не внешнего репозитория, то у вас также есть возможность поделиться этим репозиторием со всеми пользователями Workspace. Чтобы поделиться локальным (не внешним) репозиторием со всеми, кто может войти в Workspace:
- Нажмите элемент управления Add Anyone в окне Manage Permissions.
- Запись Anyone будет добавлена непосредственно в список общих сущностей и автоматически получит доступ Read/Write.
-
Нажмите кнопку
в окне Manage Permissions.
Sharing an External Repository with a Workspace User
Чтобы поделиться внешним репозиторием с пользователем Workspace:
- Нажмите элемент управления Add User в окне Manage Permissions.
-
В появившемся окне Add Users начните вводить полное имя, имя пользователя или адрес электронной почты пользователя Workspace в поле Select Users to be added, чтобы отобразился список подходящих пользователей. Выберите нужного пользователя из этого списка. Чтобы удалить пользователя, нажмите крестик удаления справа от его имени.
В поле SVN User введите имя, зарегистрированное во внешнем репозитории (SVN или Git) и, следовательно, имеющее доступ. Обычно это соответствующее имя пользователя, зарегистрированное в репозитории
-
Нажмите кнопку
, чтобы подтвердить добавление пользователя и вернуться в окно Manage Permissions. Нажмите Add User, чтобы добавить других пользователей, как описано в шаге 2 выше. Обратите внимание, что на втором примере изображения ниже пользователь Barryнастроен на использование своего соответствующего имени в репозиторииBarrySmith, а не общего имениServerAdmin.
-
Нажмите кнопку
в окне Manage Permissions.
Внешний доступ к локальному SVN-репозиторию проектирования
К репозиторию проектирования, созданному через локальную службу Version Control Enterprise Server, можно получить доступ с помощью SVN-клиента, например TortoiseSVN. Доступ осуществляется с использованием обычного сетевого протокола (в настоящее время поддерживается svn://). Правильный адрес репозитория можно посмотреть/скопировать из двух мест:
- На странице VCS браузерного интерфейса Workspace — в поле Repository Path для целевого репозитория.
«Внутренний» репозиторий, созданный в Enterprise Server, будет показывать путь адреса относительно Enterprise Server, то есть localhost адрес хост-ПК.
- Внутри Altium Designer — на странице Data Management – Design Repositories диалога Preferences — в поле Repository для целевого репозитория.
С точки зрения Altium Designer — или любого приложения, не запущенного на хост-ПК Enterprise Server — пути адресов репозитория формируются на основе имени их хост-ПК.
Используйте полученный адрес в функции просмотра репозитория вашего клиента Subversion. При первом обращении откроется промежуточное диалоговое окно Authentication с запросом корректных учётных данных подключения. Введите имя и пароль учётной записи пользователя Workspace, чтобы продолжить. Эти учётные данные действительны, если:
-
Учётная запись пользователя была добавлена after того, как репозиторий был создан в Enterprise Server. Пользователей, применимых к созданным репозиториям, можно увидеть в файле
passwd, находящемся в папке\ProgramData\Altium\Altium365Data\Repositoryна ПК Enterprise Server — см. ниже. -
Репозиторий был расшарен для этой учётной записи пользователя путём добавления этого имени пользователя через команду Add User в окне Manage Permissions for <repository name> сервера. Это отражено в файле
authzрепозитория, находящемся в папке\ProgramData\Altium\Altium365Data\Repositoryна ПК Enterprise Server.
Просмотр содержимого репозитория проектирования, созданного через локальную SVN-ориентированную службу Version Control установки Enterprise Server.
Синхронизация пользователей Enterprise Server & VCS
Когда создаётся новый пользователь Workspace, заданные для него учётные данные (User Name и Password) сохраняются и в базе данных Enterprise Server, и в службе Version Control, поскольку последняя не может получить пароль из первой напрямую. Пароль хранится в службе Version Control в виде простого текста (в файле \ProgramData\Altium\Altium365Data\Repository\passwd).
Записи в этом списке обеспечивают доступ к SVN-репозиторию Enterprise Server при работе со службой через Altium Designer. Возможны ситуации, когда учётные данные пользователя не включены в файл — например, когда пользователи Workspace уже существуют на момент создания первого SVN-репозитория (а не наоборот). Это можно исправить, вручную добавив пары имя/пароль в файл passwd, либо повторно введя пароль для каждого профиля пользователя в Workspace — второй подход заполнит файл passwd соответствующим образом и не потребует прямого доступа к ПК Enterprise Server.
В установке Enterprise Server по умолчанию учётные данные пользователей для службы Version Control хранятся в связанном файле Passwd.
Удаление репозитория
Чтобы удалить репозиторий из службы Version Control Enterprise Server, нажмите элемент управления Remove , связанный с этим репозиторием, на странице VCS браузерного интерфейса Workspace.
Записи внешних репозиториев можно удалять независимо от того, содержит ли репозиторий какие-либо проекты. Локальные репозитории, напротив (созданные внутренне через службу Version Control Enterprise Server), нельзя удалить, если они содержат один или несколько проектов. Вы получите соответствующее предупреждение; перед удалением необходимо сначала удалить проекты.
Даже в этом случае, если в локальном репозитории нет проектов, он фактически не будет удалён, а будет перемещён в архивный каталог (\ProgramData\Altium\Altium365Data\RepositoryDumps для установки Enterprise Server по умолчанию). Репозиторий будет содержаться в Dump-файле с префиксом уникального ID (например, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).