Parent page: Расширенные темы
Установка Enterprise Server предоставляет локализованный (и централизованный) контроль версий благодаря своей службе Version Control. Эта служба обеспечивает возможности контроля версий прямо там, где они вам нужны — локально, без необходимости искать или оплачивать внешнее ПО для управления VCS.
Определяя репозитории проектов таким централизованным образом, организация может полностью контролировать, к каким репозиториям её разработчики имеют доступ и какие могут использовать.
Relevance of the information on this page:
Новая установка Enterprise Server предоставляет один Git-репозиторий проектов для размещения всех ваших проектов Workspace — и всё! Это исключает любую настройку и сложность, связанную с локальной службой Version Control в Enterprise Server. У вас есть один репозиторий проектов — Versioned Storage — к которому все ваши разработчики получают доступ и в который выполняют релизы. Таким образом, страница VCS в браузерном интерфейсе Workspace становится чисто информационной — вы не можете добавить новый репозиторий, а единственный Git-репозиторий нельзя каким-либо образом изменить или удалить. Поэтому информация на этой странице к вам не относится.
Если вы обновили Enterprise Server с Altium Vault 3.0, то также будет включена поддержка SVN-репозиториев, чтобы вы могли продолжать использовать прежний (и уже отлаженный) процесс разработки. В этом случае вы можете продолжать создавать репозитории через локальную службу 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).
- Доступности как таковой — добавляйте или удаляйте их централизованно, вместо того чтобы отдельные разработчики создавали и подключали репозитории самостоятельно.
По умолчанию доступны два репозитория проектов, предоставляемые локальной службой Version Control и названные DefaultRepository (SVN-репозиторий) и Versioned Storage (Git-репозиторий) соответственно. Репозиторий DefaultRepository нельзя переименовать, но вы можете добавить для него описание, управлять доступом пользователей к нему или удалить его при необходимости. Репозиторий Versioned Storage, предназначенный исключительно для интегрированного хранения проектов Workspace, нельзя переименовать, расшарить или удалить.
Когда пользователь Altium Designer входит в Workspace, доступные ему репозитории проектов автоматически добавляются на страницу Data Management – Design Repositories page диалога Preferences. Обратите внимание: список также будет включать любые «неуправляемые» репозитории, которые были вручную добавлены с этой страницы Preferences.
Централизованно определяйте доступ к репозиториям проектов вашей организации. Репозитории могут быть внутренними для установки Enterprise Server, определёнными с помощью локальной службы Version Control, или внешними — с использованием встроенного в Altium Designer SVN либо сторонней службы SVN или Git. Управление доступом выполняется на странице VCS в браузерном интерфейсе Workspace. Когда пользователь входит в Workspace, доступные ему репозитории проектов автоматически добавляются на страницу Data Management – Design Repositories диалога Preferences .
Добавление репозитория
Чтобы добавить репозиторий проектов, нажмите кнопку
, расположенную в правом верхнем углу страницы. Появится окно 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. Для внешнего репозитория ограничений на именование нет.
Создайте новый SVN-репозиторий проектов через локальную службу Version Control Enterprise Server или подключитесь к существующему репозиторию (SVN или Git), созданному вне Enterprise Server.
Подключённый внешний репозиторий проектов отличается в списке репозиториев тем, что у него отмечено свойство External (
).
Чтобы позже отредактировать свойства репозитория проектов, нажмите связанный с ним элемент управления Edit (
). Чтобы удалить репозиторий проектов, нажмите связанный с ним элемент управления Remove (
).
Список репозиториев автоматически сортируется по алфавиту по Name: сначала идут локальные репозитории, определённые через службу Version Control, затем — внешние репозитории. Git-репозиторий Versioned Storage, который нельзя изменить или удалить, всегда отображается вверху списка.
Предоставление доступа к репозиторию
После централизации репозиториев проектов необходимо убедиться, что те, кому нужен доступ к конкретному репозиторию — включая разработчиков, которые будут работать над проектами плат — имеют этот доступ. Это достигается «расшариванием» репозитория, точнее — управлением его правами доступа. Для этого нажмите связанный с репозиторием элемент управления Share (
).
Появится окно Manage Permissions со всеми элементами управления, необходимыми для предоставления доступа к репозиторию другим пользователям.
При централизованной организации репозиториев проектов предоставление доступа другим сводится к управлению правами каждого репозитория.
Что важно учитывать:
- Для локального репозитория, созданного через службу Version Control Enterprise Server (т. е. не внешнего), права по умолчанию предоставляют доступ к репозиторию пользователю, который его создал, и роли Administrators. Оба имеют полный доступ Read/Write.
- Для внешнего репозитория по умолчанию доступ не предоставляется никому — даже пользователю, который добавил к нему подключение через интерфейс.
- Только локальные репозитории (не внешние) можно расшаривать для определённых групп ролей Enterprise Server или публично. Роли перечисляются после отдельных пользователей.
- С точки зрения прав, пользователь/роль имеет доступ Read/Write, когда включена опция Can Write (
). Если эта опция выключена, доступ только Read.
Be Aware: Настройки прав при расшаривании внутреннего репозитория проектов работают не совсем так, как ожидается. Даже если внутренний репозиторий проектов расшарен для пользователя сервера только на чтение, этот пользователь всё равно может создавать НОВЫЕ проекты 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 (выключено).
Sharing a Local Repository with a defined Role 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-файле с префиксом Unique ID (например, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).