Servicio local de control de versiones
Parent page: Temas avanzados
La instalación de Enterprise Server proporciona control de versiones localizado (y centralizado), gracias a su servicio de Control de versiones. Este servicio ofrece capacidades de control de versiones justo donde las necesita, localmente, sin tener que buscar ni pagar software externo de administración de VCS.
Al definir repositorios de diseño de esta forma centralizada, una organización puede controlar por completo a qué repositorios pueden acceder y utilizar sus diseñadores.
Ventajas principales
Hay dos ventajas principales al utilizar este servicio centralizado de Control de versiones:
- Tiene una administración común de usuarios y permisos tanto para Altium Designer como para SVN. Cuando inicia sesión en Enterprise Server, el servicio de Control de versiones funciona con su sesión/credenciales.
- Los repositorios definidos mediante Enterprise Server (a través de la página VCS (Admin – VCS) de la interfaz basada en navegador del Workspace de Enterprise Server) se cargan automáticamente en Altium Designer durante el inicio de sesión, por lo que los usuarios no tienen que preocuparse por URL, protocolos, contraseñas, etc. Simplemente se configura una vez en Enterprise Server y se comparte con los usuarios previstos según sea necesario.
Creación de repositorios
Los repositorios pueden crearse mediante el servicio local de Control de versiones (solo SVN), o bien se puede conectar a repositorios externos (SVN o Git). En conjunto, todos los repositorios se administran centralmente a través de la página VCS (Admin – VCS) de la interfaz basada en navegador del Workspace, en términos de:
- Su nombre mostrado, descripción y ruta del repositorio.
- Su accesibilidad configurada: qué usuarios específicos pueden acceder a ellos (o roles en el caso de repositorios definidos mediante el servicio local de Control de versiones).
- Su disponibilidad: agregarlos o eliminarlos de forma centralizada, en lugar de que cada diseñador tenga que crear y conectarse a repositorios de manera independiente.
Cuando un usuario de Altium Designer inicia sesión en el Workspace, los repositorios de diseño disponibles para ese usuario se agregarán automáticamente a la página Gestión de datos – Repositorios de diseño del cuadro de diálogo Preferences. Tenga en cuenta que la lista también incluirá cualquier repositorio “no administrado” que se haya agregado manualmente desde esta página Preferences.
Defina de manera centralizada el acceso a los repositorios de diseño de su organización. Los repositorios pueden ser internos a la instalación de Enterprise Server, definidos mediante el servicio local de Control de versiones, o externos mediante el SVN integrado de Altium Designer, o servicios SVN o Git de terceros. El control de acceso se realiza a través de la página VCS de la interfaz basada en navegador del Workspace. Cuando un usuario inicia sesión en el Workspace, los repositorios de diseño disponibles para él se agregarán automáticamente a la página Data Management – Design Repositories del cuadro de diálogo Preferences .
Agregar un repositorio
Para agregar un repositorio de diseño, haga clic en el botón
, ubicado en la parte superior derecha de la página. Aparecerá la ventana Add Repository; utilícela para definir el repositorio.
Las propiedades requeridas dependen de si está creando un nuevo repositorio mediante el servicio local de Control de versiones, o vinculando un repositorio externo ya existente:
- New – asigne al repositorio un nombre y una descripción.
- Existing – además de un nombre y una descripción, debe proporcionar la URL del repositorio y credenciales válidas (User Name, Password) para acceder a ese repositorio (si es necesario).
Cree un nuevo repositorio de diseño basado en SVN mediante el servicio local de Control de versiones de Enterprise Server, o vincule un repositorio existente (SVN o Git) que haya sido creado fuera de Enterprise Server.
Un repositorio de diseño externo vinculado se distingue en la lista de repositorios porque su propiedad External está marcada
Para editar las propiedades de un repositorio de diseño posteriormente, haga clic en el control Edit asociado Para eliminar un repositorio de diseño, haga clic en el control Remove asociado
Compartir un repositorio
Una vez centralizados sus repositorios de diseño, debe asegurarse de que quienes necesiten acceso a un repositorio determinado —incluidos los diseñadores que trabajarán en diseños de placas— dispongan de ese acceso. Esto se logra compartiendo ese repositorio o, más concretamente, administrando sus permisos de acceso. Para ello, haga clic en el control Share asociado al repositorio
Aparecerá la ventana Manage Permissions, con todos los controles necesarios para compartir el repositorio con otros usuarios.
Con los repositorios de diseño organizados de forma centralizada, compartirlos con otros es simplemente cuestión de administrar los permisos de cada repositorio.
Aspectos a tener en cuenta:
- Para un repositorio local creado mediante el servicio de Control de versiones de Enterprise Server (es decir, no externo), sus permisos predeterminados comparten ese repositorio con el usuario que lo creó y con el rol Administrators. Ambos tienen acceso completo de lectura/escritura.
- Para un repositorio externo, no se comparte con nadie de forma predeterminada, ni siquiera con el usuario que agregó una conexión a él mediante la interfaz.
- Solo los repositorios locales (no externos) pueden compartirse con grupos de roles definidos para Enterprise Server o públicamente. Los roles se enumeran después de los usuarios individuales.
- En términos de permisos, un usuario/rol tiene acceso de lectura/escritura cuando la opción Can Write está habilitada Si esta opción está deshabilitada, solo tiene acceso de lectura.
- Para eliminar el acceso compartido existente de un usuario/rol a un repositorio, haga clic en el control Remove asociado
Sharing a Local Repository with a Workspace User
Para compartir un repositorio local (no externo) con otro usuario del Workspace:
- Haga clic en el control Add User en la ventana Manage Permissions.

- En la ventana Add Users que aparece, comience a escribir el nombre completo, nombre de usuario o dirección de correo electrónico de un usuario del Workspace en el campo Select Users to be added, para que aparezca una lista emergente de usuarios coincidentes. Seleccione el usuario requerido de esta lista. Se pueden elegir varios usuarios. Para eliminar un usuario, haga clic en la cruz de eliminación, a la derecha de su nombre.

- Establezca el permiso para el/los usuario(s) usando el campo Permission. Use el menú desplegable para elegir entre acceso Read o acceso Read/Write.

- Haga clic en el botón
para confirmar la(s) adición(es) de usuario y volver a la ventana Manage Permissions.

- Haga clic en el botón
en la ventana Manage Permissions.
Sharing a Local Repository with a defined Role Group
Si el repositorio se ha creado mediante el servicio local de control de versiones, en lugar de un repositorio externo, también tiene la posibilidad de compartirlo con grupos de roles definidos para su Workspace. Para compartir un repositorio local (no externo) con otro grupo de roles:
- Haga clic en el control Add Group de la ventana Manage Permissions.

- En la ventana Add Groups que aparece, comience a escribir el nombre de un grupo de roles en el campo Select Groups to be added para mostrar una lista de roles coincidentes. Seleccione el rol requerido de esta lista. Se pueden elegir varios roles. Para eliminar un rol, haga clic en la cruz de eliminación, a la derecha de su nombre.

- Configure el permiso para el/los grupo(s) de roles mediante el campo Permission. Use la lista desplegable para elegir entre acceso Read o acceso Read/Write.

- Haga clic en el botón
para confirmar la(s) incorporación(es) del rol y volver a la ventana Manage Permissions.

- Haga clic en el botón
en la ventana Manage Permissions.
Sharing a Local Repository with All Users
Si el repositorio se ha creado mediante el servicio local de control de versiones, en lugar de un repositorio externo, también tiene la posibilidad de compartir ese repositorio con todos los usuarios del Workspace. Para compartir un repositorio local (no externo) con cualquier persona que pueda iniciar sesión en el Workspace:
- Haga clic en el control Add Anyone de la ventana Manage Permissions.

- La entrada Anyone se agregará directamente a la lista de entidades compartidas y se compartirá automáticamente con acceso de lectura/escritura.

- Haga clic en el botón
en la ventana Manage Permissions.
Sharing an External Repository with a Workspace User
Para compartir un repositorio externo con un usuario del Workspace:
- Haga clic en el control Add User de la ventana Manage Permissions.

- En la ventana Add Users que aparece, comience a escribir el nombre completo, nombre de usuario o dirección de correo electrónico de un usuario del Workspace en el campo Select Users to be added para mostrar una lista de usuarios coincidentes. Seleccione el usuario requerido de esta lista. Para eliminar al usuario, haga clic en la cruz de eliminación, a la derecha de su nombre.
En el campo SVN User, introduzca un nombre que esté registrado en el repositorio externo (SVN o Git) y que, por lo tanto, tenga acceso. Normalmente, este sería el nombre correspondiente de un usuario registrado en el repositorio

- Haga clic en el botón
para confirmar la incorporación del usuario y volver a la ventana Manage Permissions. Haga clic en Add User para añadir más usuarios como se indicó en el paso 2 anterior. Tenga en cuenta que, en la segunda imagen de ejemplo a continuación, el usuario Barryse ha configurado para usar su nombre de repositorio correspondienteBarrySmith, en lugar del nombre generalServerAdmin.

- Haga clic en el botón
en la ventana Manage Permissions.
Acceso externo a un repositorio de diseño SVN local
Se puede acceder a un repositorio de diseño creado mediante el servicio local de control de versiones del Enterprise Server usando un cliente SVN como TortoiseSVN. El acceso se realiza usando el protocolo de red habitual (actualmente se admite svn://). La dirección correcta del repositorio puede consultarse/copiarse desde dos lugares:
- La página VCS de la interfaz del navegador del Workspace, dentro del campo Repository Path para el repositorio de destino.
Un repositorio "interno" creado desde el Enterprise Server mostrará su ruta de dirección relativa al Enterprise Server, que es la dirección localhost del PC host.
- Desde Altium Designer, en la página Data Management – Design Repositories page del cuadro de diálogo Preferences, dentro del campo Repository para el repositorio de destino.
Desde la perspectiva de Altium Designer, o de cualquier aplicación que no esté en el PC host del Enterprise Server, las rutas de dirección del repositorio se basan en el nombre de sus PC host.
Use la dirección obtenida en la función de exploración de repositorios de su cliente Subversion. En el primer acceso se abrirá un cuadro de diálogo intermedio Authentication solicitando credenciales de conexión válidas. Introduzca el nombre y la contraseña de una cuenta de usuario del Workspace para continuar. Estas credenciales son válidas si:
- La cuenta de usuario se agregó after de que el repositorio se creara en el Enterprise Server. Los usuarios que se aplican a los repositorios creados pueden verse en el archivo
passwdque se encuentra en la carpeta\ProgramData\Altium\Altium365Data\Repositorydel PC del Enterprise Server; véase más abajo. - El repositorio se ha compartido con la cuenta de usuario, añadiendo ese nombre de usuario mediante el comando Add User en la ventana Manage Permissions for <repository name> del servidor. Esto se refleja en el archivo
authzdel repositorio, que se encuentra en la carpeta\ProgramData\Altium\Altium365Data\Repositorydel PC del Enterprise Server.
Exploración del contenido de un repositorio de diseño creado mediante el servicio local de control de versiones basado en SVN de la instalación de Enterprise Server.
Sincronización de usuarios de Enterprise Server y VCS
Cuando se crea un nuevo usuario para el Workspace, las credenciales definidas (User Name y Password) para ese usuario se almacenan tanto en la base de datos del Enterprise Server como en el servicio de control de versiones, ya que este último no puede acceder directamente a la contraseña del primero. La contraseña se almacena en el servicio de control de versiones en formato de texto sin formato (en el archivo \ProgramData\Altium\Altium365Data\Repository\passwd).
Las entradas de esta lista proporcionan acceso al repositorio SVN del Enterprise Server al trabajar con el servicio a través de Altium Designer. Puede haber ocasiones en las que las credenciales de un usuario no estén incluidas en el archivo, como cuando ya existen usuarios del Workspace al crearse el primer repositorio SVN (en lugar de al revés). Esto puede resolverse agregando manualmente esas combinaciones de nombre/contraseña al archivo passwd, o volviendo a introducir la contraseña de cada perfil de usuario en el Workspace; este último método completará el archivo passwd en consecuencia y sin requerir acceso directo al PC del Enterprise Server.
En una instalación predeterminada del Enterprise Server, las credenciales de usuario para el servicio de control de versiones se almacenan en el archivo Passwd asociado.
Eliminación de un repositorio
Para eliminar un repositorio del servicio de control de versiones del Enterprise Server, haga clic en el control Remove asociado con ese repositorio, en la página VCS de la interfaz basada en navegador del Workspace.
Las entradas de repositorios externos pueden eliminarse, independientemente de si el repositorio contiene proyectos o no. Los repositorios locales, por otro lado (aquellos creados internamente mediante el servicio de control de versiones del Enterprise Server), no pueden eliminarse si contienen uno o más proyectos. Se le notificará esto y deberá eliminar primero los proyectos antes de poder continuar con la eliminación.
Incluso entonces, si un repositorio local no tiene proyectos, en realidad no se eliminará, sino que se moverá a un directorio de archivo (\ProgramData\Altium\Altium365Data\RepositoryDumps, para una instalación predeterminada de Enterprise Server). El repositorio se contendrá dentro de un archivo Dump, con un prefijo de ID único (p. ej., 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).