Установка Enterprise Server предоставляет локализованное (и централизованное) управление версиями благодаря службе Version Control. Эта служба дает возможности контроля версий именно там, где они вам нужны — локально, без необходимости искать или оплачивать внешнее ПО для управления VCS.
Определяя репозитории проектов таким централизованным образом, организация может полностью контролировать, к каким репозиториям ее разработчики имеют доступ и какие могут использовать.
Relevance of the information on this page:
Новая установка Enterprise Server предоставляет один репозиторий проектов на базе Git для размещения всех ваших проектов Workspace — и на этом всё! Это исключает необходимость какой‑либо настройки и снижает сложность, связанную с локальной службой Version Control в Enterprise Server. У вас есть один репозиторий проектов — Versioned Storage — к которому все разработчики получают доступ и в который выполняют выпуск (release). Таким образом, страница VCS в браузерном интерфейсе Workspace становится чисто информационной — вы не можете добавить новый репозиторий, а единственный Git‑репозиторий нельзя каким‑либо образом изменить или удалить. Следовательно, информация на этой странице к вам не относится.
Если вы обновили Enterprise Server с версии или серверного продукта, где было включено использование SVN‑репозиториев, то после обновления они останутся включенными (пожалуйста, убедитесь, что вы обновили лицензирование Altium On-Prem Enterprise Server). Это позволяет продолжать использовать прежний (и уже отлаженный) процесс разработки. В этом случае вы можете продолжать создавать репозитории через локальную службу Version Control (только SVN) или подключаться к внешним репозиториям (SVN или Git). Следовательно, информация на этой странице по‑прежнему актуальна для вас.
Important: Обратите внимание: в противном случае кнопка
будет неактивна (серой), и возможность создавать/добавлять репозитории будет недоступна.
Ключевые преимущества
Использование этой централизованной службы Version Control дает два ключевых преимущества:
-
У вас единые пользователи и управление правами как для Altium Designer, так и для SVN. Когда вы входите в Enterprise Server, служба Version Control использует вашу сессию/учетные данные.
-
Репозитории, определенные через Enterprise Server (на странице VCS (Admin – VCS) в браузерном интерфейсе Workspace Enterprise Server), автоматически подгружаются в Altium Designer при входе, поэтому пользователям не нужно думать об URL, протоколах, паролях и т. п. Всё настраивается один раз на Enterprise Server и при необходимости предоставляется нужным пользователям.
При создании нового пользователя Enterprise Server заданный для этого пользователя Password сохраняется и в Enterprise Server, и в службе SVN, поскольку последняя не может напрямую получить пароль из первой.
Создание репозитория
Репозитории можно создавать через локальную службу Version Control (только SVN) или подключать внешние репозитории (SVN или Git). Все репозитории централизованно управляются на странице VCS (Admin – VCS) в браузерном интерфейсе Workspace в части:
-
Отображаемого имени, описания и пути репозитория.
-
Настроенной доступности — какие конкретно пользователи могут получать к ним доступ (или группы — в случае репозиториев, определенных через локальную службу Version Control).
-
Наличия/доступности — добавлять или удалять их централизованно, вместо того чтобы отдельные разработчики создавали и подключали репозитории самостоятельно.
По умолчанию доступны два Design Repositories, предоставляемые локальной службой Version Control и названные DefaultRepository (SVN‑репозиторий) и Versioned Storage (Git‑репозиторий) соответственно. Репозиторий DefaultRepository переименовать нельзя, но при необходимости вы можете добавить для него описание, управлять доступом пользователей или удалить его. Репозиторий Versioned Storage, предназначенный исключительно для интегрированного хранения проектов Workspace, нельзя переименовать, расшарить или удалить.
Когда пользователь 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 можно создавать только репозитории типа SVN. Можно также привязать существующие (внешние) репозитории — как SVN, так и Git.
Требуемые свойства зависят от того, создаете ли вы новый репозиторий с помощью локальной службы Version Control или привязываете существующий внешний репозиторий:
-
New – задайте имя и описание репозитория.
-
Existing – помимо имени и описания, необходимо указать URL к репозиторию и корректные учетные данные (User Name, Password) для доступа к нему (если требуется).
При создании репозитория, внутреннего для Enterprise Server, имя должно начинаться с и может содержать A-Z, a-z или 0-9. Подчеркивания, дефисы и пробелы допускаются в середине имени. Нельзя использовать следующие слова: AUX, COM1-COM9, LPT1-LPT9, CON, NUL и PRN. Для внешнего репозитория ограничений на именование нет.
Создайте новый Design Repository на базе SVN через локальную службу Version Control Enterprise Server или привяжите существующий репозиторий (SVN или Git), созданный вне Enterprise Server.
Привязанный внешний Design Repository отличается в списке репозиториев тем, что у него отмечено свойство External (
).
Чтобы позже отредактировать свойства Design Repository, нажмите соответствующий элемент управления Edit (
). Чтобы удалить Design Repository, нажмите соответствующий элемент управления Remove (
).
Список репозиториев автоматически сортируется по алфавиту по полю Name: сначала идут локальные репозитории, определенные через службу Version Control, затем — внешние. Репозиторий на базе Git Versioned Storage — который нельзя изменить или удалить — всегда отображается вверху списка.
Предоставление доступа к репозиторию
После централизации Design Repositories необходимо убедиться, что те, кому нужен доступ к конкретному репозиторию — включая разработчиков, которые будут работать над проектами плат — этот доступ имеют. Это достигается «расшариванием» репозитория, точнее — управлением правами доступа. Для этого нажмите связанный с репозиторием элемент управления Share (
).
Появится окно Manage Permissions со всеми элементами управления, необходимыми для предоставления доступа к репозиторию другим пользователям.
При централизованной организации Design Repositories предоставление доступа другим сводится к управлению правами каждого репозитория.
Что важно учитывать:
-
Для локального репозитория, созданного через службу Version Control Enterprise Server (т. е. не внешнего), права по умолчанию предоставляют доступ к репозиторию пользователю, создавшему репозиторий, и группе Administrators. Оба имеют полный доступ Read/Write.
-
Для внешнего репозитория по умолчанию доступ не предоставляется никому — даже пользователю, который добавил к нему подключение через интерфейс.
-
Только локальные репозитории (не внешние) можно расшаривать для определенных групп Enterprise Server или публично. Группы перечисляются после отдельных пользователей.
-
С точки зрения прав, пользователь/группа имеет доступ Read/Write, когда включена опция Can Write (
). Если эта опция выключена, доступ только Read.
Be Aware: Настройки прав при расшаривании внутреннего репозитория проектов работают не совсем так, как ожидается. Хотя сам внутренний репозиторий проектов можно расшарить для пользователя сервера с доступом только Read, этот пользователь всё равно может создавать НОВЫЕ проекты Workspace в этом репозитории и получать полные права Read/Write для соответствующих папок проекта, которые создаются. Обратите внимание: эта ошибочная функциональность относится только к новым проектам Workspace и их папкам, созданным этим пользователем. Прав на запись в другие папки репозитория у пользователя не будет.
-
Чтобы убрать у существующего пользователя/группы общий доступ к репозиторию, нажмите соответствующий элемент управления 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.
Чтобы изменить права доступа для существующего пользователя, используйте параметр Can Write в окне Manage Permissions, чтобы переключаться между доступом Read/Write (включено) и доступом Read-only (выключено).
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.
Чтобы изменить права доступа для существующей группы, используйте параметр Can Write в окне Manage Permissions, чтобы переключаться между доступом Read/Write (включено) и доступом Read-only (выключено).
Sharing a Local Repository with All Users
Если репозиторий был создан с помощью локальной службы Version Control, а не во внешнем репозитории, то у вас также есть возможность поделиться этим репозиторием со всеми пользователями Workspace. Чтобы поделиться локальным (не внешним) репозиторием со всеми, кто может войти в Workspace:
-
Нажмите элемент управления Add Anyone в окне Manage Permissions.
-
Запись Anyone будет добавлена непосредственно в список объектов, с которыми предоставлен общий доступ, и автоматически получит доступ Read/Write.
-
Нажмите кнопку
в окне Manage Permissions.
Чтобы изменить права доступа для объекта Anyone, используйте параметр Can Write в окне Manage Permissions, чтобы переключаться между доступом Read/Write (включено) и доступом Read-only (выключено).
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.
Пользователей Workspace можно сопоставлять с любым корректным именем пользователя во внешнем SVN-репозитории, и несколько пользователей Workspace могут быть сопоставлены с одним именем пользователя во внешнем SVN-репозитории.
-
Сам доступ (в терминах Read-only или Read/Write) в конечном итоге определяется установкой внешнего репозитория. Enterprise Server не влияет на авторизацию пользователей во внешнем репозитории и поэтому не может управлять этими правами со стороны Enterprise Server.
-
При обращении к внешнему репозиторию Enterprise Server из Altium Designer, например при создании нового проекта, могут быть запрошены учётные данные подключения к репозиторию, если это не было сделано ранее. Эти учётные данные будут автоматически использоваться для последующих действий с этим репозиторием.
Внешний доступ к локальному SVN Design Repository
Design Repository, созданный с помощью локальной службы Version Control Enterprise Server, может быть доступен с использованием SVN-клиента, например TortoiseSVN. Доступ осуществляется по обычному сетевому протоколу (в настоящее время поддерживается svn://). Правильный адрес репозитория можно получить/скопировать из двух мест:
-
На странице VCS браузерного интерфейса Workspace — в поле Repository Path для целевого репозитория.
«Внутренний» репозиторий, созданный в Enterprise Server, будет показывать путь адреса относительно Enterprise Server, то есть localhost адрес хост‑ПК.
С точки зрения Altium Designer — или любого приложения, не находящегося на хост‑ПК Enterprise Server — пути адресов репозитория формируются на основе имени их хост‑ПК.
Показанный адрес будет зависеть от того, обращаетесь ли вы к репозиторию с той же машины, на которой установлен Enterprise Server (svn://localhost/<RepositoryName>), или с удалённого ПК (svn://<ComputerName>/<RepositoryName>, где ComputerName — имя ПК, на котором размещён 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.
Просмотр содержимого Design Repository, созданного через локальную SVN-ориентированную службу Version Control установки Enterprise Server.
Design Repository, созданный через локальную службу Version Control, хранит свои внутренние данные в соответствующей подпапке в папке \ProgramData\Altium\Altium365Data\Repository (для установки 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.
Обратите внимание: удаление репозитория со страницы
Data Management – Design Repositories page диалога
Preferences в Altium Designer лишь исключает этот репозиторий из использования данным экземпляром Altium Designer. Это не удаляет репозиторий из службы Version Control Enterprise Server. Если выйти из Enterprise Server и войти снова, репозиторий вновь появится в списке доступных репозиториев для этого экземпляра Altium Designer.
Записи внешних репозиториев можно удалять независимо от того, содержит ли репозиторий какие-либо проекты. Локальные репозитории, напротив (созданные внутренне через службу Version Control Enterprise Server), нельзя удалить, если они содержат один или несколько проектов. Вы получите соответствующее предупреждение, и сначала нужно будет удалить проекты, прежде чем можно будет продолжить удаление.
Даже в этом случае, если локальный репозиторий не содержит проектов, он фактически не будет удалён, а будет перемещён в архивный каталог (\ProgramData\Altium\Altium365Data\RepositoryDumps для установки Enterprise Server по умолчанию). Репозиторий будет содержаться в Dump-файле с префиксом уникального идентификатора (например, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).