Установка 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, затем — внешние. Репозиторий Versioned Storage на базе Git — который нельзя изменить или удалить — всегда отображается вверху списка.
Предоставление доступа к репозиторию
После централизации Design Repositories необходимо убедиться, что те, кому нужен доступ к конкретному репозиторию — включая разработчиков, которые будут работать над проектами плат — этот доступ имеют. Это достигается «шарингом» репозитория, то есть управлением его правами доступа. Для этого нажмите связанный с репозиторием элемент управления Share (
).
Появится окно Manage Permissions со всеми элементами управления, необходимыми для предоставления доступа к репозиторию другим пользователям.
При централизованной организации Design Repositories предоставление доступа другим сводится к управлению правами каждого репозитория.
Что важно учитывать:
-
Для локального репозитория, созданного через службу 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-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-репозиторию проектирования
К репозиторию проектирования, созданному через локальную службу 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.
Просмотр содержимого репозитория проектирования, созданного через локальную SVN-ориентированную службу Version Control установки Enterprise Server.
Репозиторий проектирования, созданный через локальную службу 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 диалога
Preferences в Altium Designer лишь исключает этот репозиторий из использования данным экземпляром Altium Designer. Это не удаляет репозиторий из службы Version Control Enterprise Server. Если выйти из Enterprise Server и войти снова, репозиторий вновь появится в списке доступных репозиториев для данного экземпляра Altium Designer.
Записи внешних репозиториев можно удалять независимо от того, содержит ли репозиторий какие-либо проекты. Локальные репозитории, напротив (созданные внутренне через службу Version Control Enterprise Server), нельзя удалить, если они содержат один или несколько проектов. Вы получите соответствующее предупреждение; перед удалением необходимо сначала удалить проекты.
Даже в этом случае, если в локальном репозитории нет проектов, он фактически не будет удалён, а будет перемещён в архивный каталог (\ProgramData\Altium\Altium365Data\RepositoryDumps для установки Enterprise Server по умолчанию). Репозиторий будет содержаться в Dump-файле с префиксом уникального ID (например, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).