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, de forma local, sin tener que buscar ni pagar software externo de administración de VCS.
Al definir repositorios de diseño de esta manera centralizada, una organización puede controlar completamente a qué repositorios pueden acceder y usar sus diseñadores.
Ventajas clave
Hay dos ventajas clave al usar este servicio centralizado de Control de versiones:
- Tiene una gestió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 a través de Enterprise Server (mediante la página VCS (Admin – VCS) de la interfaz web del Workspace de Enterprise Server) se cargan automáticamente en Altium Designer durante el inicio de sesión, de modo 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 pueden conectarse 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 web 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 los repositorios definidos mediante el servicio local de Control de versiones).
- Su disponibilidad: agregarlos o quitarlos 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 él se agregarán automáticamente a la página Data Management – Design Repositories page 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 centralmente 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 un servicio SVN o Git de terceros. El control de acceso se realiza a través de la página VCS de la interfaz web 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; úsela para definir el repositorio.
Las propiedades necesarias dependen de si está creando un nuevo repositorio mediante el servicio local de Control de versiones, o vinculándose a un repositorio externo ya existente:
- New – simplemente 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 vincúlelo a un repositorio existente (SVN o Git) que se haya 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 más adelante las propiedades de un repositorio de diseño, 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 los diseños de placas— dispongan de dicho acceso. Esto se logra compartiendo ese repositorio o, mejor dicho, 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 una cuestión de administrar los permisos de cada repositorio.
Aspectos que debe 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ó la conexión a través de la interfaz.
- Solo los repositorios locales (no externos) pueden compartirse con grupos de roles definidos para Enterprise Server o públicamente. Los roles aparecen en la lista después de los usuarios individuales.
- En cuanto a permisos, un usuario/rol tiene acceso de lectura/escritura cuando la opción Can Write está habilitada Si esta opción está deshabilitada, solo tendrá acceso de lectura.
- Para quitar a un usuario/rol existente del acceso compartido 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 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 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.
- Configure el permiso para el/los usuario(s) 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 incorporación del/de los usuario(s) 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 en 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.
- Establezca 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) adición(es) de 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 cualquiera que pueda iniciar sesión en el Workspace:
- Haga clic en el control Add Anyone en 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 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 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 coincidente de un usuario registrado en el repositorio.
-
Haga clic en el botón
para confirmar la adición del usuario y volver a la ventana Manage Permissions. Haga clic en Add User para agregar más usuarios como se describe en el paso 2 anterior. Tenga en cuenta que, en la segunda imagen de ejemplo siguiente, el usuario Barryha sido configurado para usar su nombre de repositorio coincidenteBarrySmith, 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 que se crea mediante el servicio local de Control de versiones del Enterprise Server usando un cliente SVN como TortoiseSVN. El acceso se realiza mediante el protocolo de red habitual (actualmente se admite svn://). Se puede acceder o copiar la dirección correcta del repositorio 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 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 se creara el repositorio 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; consulte más abajo. -
El repositorio se ha compartido con la cuenta de usuario, agregando ese nombre de usuario mediante el comando Add User en la ventana Manage Permissions for <repository name> del servidor. Esto es evidente 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 del Enterprise Server.
Sincronización de usuarios entre 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 los usuarios del Workspace ya existen al crearse el primer repositorio SVN (en lugar de al revés). Esto puede solucionarse agregando manualmente esas combinaciones de nombre/contraseña al archivo passwd, o volviendo a introducir la contraseña para cada perfil de usuario en el Workspace; este último enfoque 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 se almacenan para el servicio de Control de versiones 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 a 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 o no proyectos. Los repositorios locales, en cambio (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 alertará de ello, y deberá eliminar primero los proyectos antes de poder proceder 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 del Enterprise Server). El repositorio estará contenido dentro de un archivo Dump, con un prefijo de ID único (por ejemplo, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).












