La instalación de Enterprise Server proporciona control de versiones localizado (y centralizado), gracias a su servicio de Version Control. 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 usar sus diseñadores.
Relevance of the information on this page:
Una nueva instalación de Enterprise Server proporciona un único repositorio de diseño basado en Git para alojar todos los proyectos de diseño de su Workspace, ¡y nada más! Esto evita cualquier configuración y complejidad relacionadas con el servicio local de Version Control de Enterprise Server. Tiene un único repositorio de diseño: Versioned Storage, al que todos sus diseñadores pueden acceder y en el que pueden publicar versiones. Como tal, la página VCS de la interfaz del navegador del Workspace pasa a ser meramente informativa: no puede agregar un nuevo repositorio, y el único repositorio Git no puede modificarse de ninguna forma ni eliminarse. Por lo tanto, la información de esta página no se aplica a usted.
Si ha actualizado su Enterprise Server desde una versión o producto de servidor en el que estaba habilitado el uso de repositorios SVN, estos seguirán habilitados después de la actualización (asegúrese de actualizar su licencia de Altium On-Prem Enterprise Server). Esto le permite seguir utilizando su flujo de diseño anterior (y ya establecido). En este caso, puede seguir creando repositorios mediante el servicio local de Version Control (solo SVN), o conectarse a repositorios externos (SVN o Git). Por lo tanto, la información de esta página sigue siendo relevante para usted.
Important: Tenga en cuenta que, en caso contrario, el botón
aparecerá atenuado y la capacidad de crear/agregar repositorios no estará disponible.
Para obtener más información sobre los Design Repositories y sobre cómo trabajar con ellos mediante Altium Designer, consulte
Using External Version Control.
Ventajas principales
Hay dos ventajas clave al usar este servicio centralizado de Version Control:
-
Tiene usuarios y administración de permisos comunes tanto para Altium Designer como para SVN. Cuando inicia sesión en Enterprise Server, el servicio de Version Control 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, por lo que los usuarios no tienen que preocuparse por las URL, protocolos, contraseña, etc. Simplemente se configura una vez en Enterprise Server y se comparte con los usuarios previstos según sea necesario.
Cuando se crea un nuevo usuario para Enterprise Server, la Password definida para ese usuario se almacena tanto en Enterprise Server como en el servicio SVN, ya que este último no puede acceder directamente a la contraseña del primero.
Creación de repositorios
Los repositorios pueden crearse mediante el servicio local de Version Control (solo SVN), o bien pueden conectarse repositorios externos (SVN o Git). En conjunto, todos los repositorios se administran de forma centralizada 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 grupos, en el caso de repositorios definidos mediante el servicio local de Version Control).
-
Su disponibilidad: agregarlos o quitarlos de forma centralizada, en lugar de que cada diseñador tenga que crear y conectarse a repositorios de forma independiente.
Hay dos Design Repositories disponibles de forma predeterminada, proporcionados por el servicio local de Version Control y llamados DefaultRepository (un repositorio SVN) y Versioned Storage (un repositorio Git), respectivamente. El repositorio DefaultRepository no puede renombrarse, pero puede agregarle una descripción, administrar el acceso de usuarios a él o eliminarlo, según sea necesario. El repositorio Versioned Storage, que es exclusivamente para el almacenamiento integrado de proyectos del Workspace, no puede renombrarse, compartirse ni eliminarse.
Cuando un usuario de Altium Designer inicia sesión en el Workspace, los Design Repositories disponibles para ese usuario 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 Design Repositories de su organización. Los repositorios pueden ser internos a la instalación de Enterprise Server, definidos mediante el servicio local de Version Control, 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 Design Repositories 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 Design Repository, 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.
Solo pueden crearse repositorios de tipo SVN mediante el servicio local de Version Control. Se pueden vincular repositorios existentes (externos), y estos pueden ser SVN o Git.
Las propiedades necesarias dependen de si está creando un nuevo repositorio mediante el servicio local de Version Control o vinculando un repositorio externo 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).
Cuando cree un repositorio interno a Enterprise Server, el nombre debe comenzar con, y puede contener, A-Z, a-z o 0-9. Se permiten guiones bajos, guiones y espacios en la parte media del nombre. No puede usar las siguientes palabras: AUX, COM1-COM9, LPT1-LPT9, CON, NUL y PRN. No hay restricciones de nomenclatura para un repositorio externo.
Cree un nuevo Design Repository basado en SVN mediante el servicio local de Version Control de Enterprise Server, o vincúlelo a un repositorio existente (SVN o Git) que se haya creado fuera de Enterprise Server.
Un Design Repository externo vinculado se distingue en la lista de repositorios porque su propiedad External está marcada (
).
Para editar las propiedades de un Design Repository más adelante, haga clic en el control Edit asociado (
). Para eliminar un Design Repository, haga clic en el control Remove asociado (
).
La lista de repositorios se ordena automáticamente alfabéticamente por Name, con los repositorios locales definidos mediante el servicio de Version Control en primer lugar, y después los repositorios externos. El repositorio Versioned Storage basado en Git —que no puede modificarse ni eliminarse— siempre aparece al principio de la lista.
Compartir un repositorio
Después de centralizar sus Design Repositories, 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 ese acceso. Esto se logra compartiendo ese repositorio o, más exactamente, administrando sus permisos de acceso. Para hacerlo, 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 Design Repositories 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 Version Control de Enterprise Server (es decir, no externo), sus permisos predeterminados comparten ese repositorio con el usuario que lo creó y con el grupo Administrators. Ambos tienen acceso completo de lectura/escritura.
-
En el caso de un repositorio externo, de forma predeterminada no se comparte con nadie, ni siquiera con el usuario que agregó una conexión a él mediante la interfaz.
-
Solo los repositorios locales (no los externos) pueden compartirse con grupos definidos para Enterprise Server o de forma pública. Los grupos aparecen en la lista después de los usuarios individuales.
-
En cuanto a permisos, un usuario/grupo tiene acceso de lectura/escritura cuando la opción Can Write está habilitada (
). Si esta opción está deshabilitada, solo tiene acceso de lectura.
Be Aware: La configuración de permisos al compartir un repositorio de diseño interno no funciona exactamente como cabría esperar. Aunque un repositorio de diseño interno en sí pueda compartirse con acceso de solo lectura para un usuario del servidor, ese usuario aún puede crear proyectos NUEVOS del Workspace dentro de ese repositorio y obtener permisos completos de lectura/escritura para las carpetas de proyecto correspondientes que se creen. Tenga en cuenta que este funcionamiento erróneo se aplica solo a los nuevos proyectos del Workspace y sus carpetas creados por ese usuario. El usuario no tendrá permisos de escritura en otras carpetas del repositorio.
-
Para eliminar el acceso compartido de un usuario/grupo existente 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, empiece 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(s) incorporación(es) de usuario(s) y volver a la ventana Manage Permissions.
-
Haga clic en el botón
en la ventana Manage Permissions.
Para editar los permisos de un usuario existente, use la opción Can Write en la ventana Manage Permissions, para alternar entre acceso de lectura/escritura (habilitado) o acceso de solo lectura (deshabilitado).
Sharing a Local Repository with a defined Group
Si el repositorio se ha creado mediante el servicio local de control de versiones, en lugar de un repositorio externo, también tendrá la capacidad de compartirlo con grupos definidos para su Workspace. Para compartir un repositorio local (no externo) con otro grupo:
-
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 en el campo Select Groups to be added para mostrar una lista de grupos coincidentes. Seleccione el grupo requerido de esta lista. Se pueden elegir varios grupos. Para eliminar un grupo, haga clic en la cruz de eliminación, a la derecha de su nombre.
-
Establezca el permiso para el/los grupo(s) usando 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 adición del/de los grupo(s) y volver a la ventana Manage Permissions.
-
Haga clic en el botón
en la ventana Manage Permissions.
Para editar los permisos de un grupo existente, use la opción Can Write en la ventana Manage Permissions, para alternar entre acceso de lectura/escritura (habilitado) o acceso de solo lectura (deshabilitado).
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 tendrá la capacidad 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 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.
Para editar los permisos de la entidad Anyone, use la opción Can Write en la ventana Manage Permissions, para alternar entre acceso de lectura/escritura (habilitado) o acceso de solo lectura (deshabilitado).
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 correspondiente 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 a continuación, se ha configurado al usuario Barry para usar su nombre de repositorio correspondiente BarrySmith, en lugar del nombre general ServerAdmin.
-
Haga clic en el botón
en la ventana Manage Permissions.
Los usuarios del Workspace pueden asignarse a cualquier nombre de usuario válido del repositorio SVN externo, y varios usuarios del Workspace pueden asignarse a un solo nombre de usuario del repositorio SVN externo.
-
El acceso en sí (en términos de solo lectura o lectura/escritura) lo determina en última instancia la instalación del repositorio externo. Enterprise Server no influye en la autorización de usuarios del repositorio externo y, por lo tanto, no puede gestionar estos permisos desde el lado de Enterprise Server.
-
Al acceder a un repositorio externo de Enterprise Server desde Altium Designer, por ejemplo al crear un nuevo proyecto, es posible que se soliciten credenciales de conexión al repositorio si esto no se ha hecho previamente. Estas credenciales se utilizarán automáticamente para la actividad posterior con este repositorio.
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 de 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 accederse/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 Enterprise Server mostrará la ruta de su dirección relativa a Enterprise Server, que es la dirección localhost del PC host.
Desde la perspectiva de Altium Designer, o de cualquier aplicación que no esté en el PC host de Enterprise Server, las rutas de dirección del repositorio se basan en el nombre de sus PC host.
La dirección mostrada dependerá de si está accediendo al repositorio desde la misma máquina en la que está instalado Enterprise Server (svn://localhost/<RepositoryName>) o desde un PC remoto (svn://<ComputerName>/<RepositoryName>, donde ComputerName es el nombre del PC en el que reside Enterprise Server).
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 creó el repositorio en Enterprise Server. Los usuarios que se aplican a los repositorios creados pueden verse en el archivo
passwd que se encuentra en la carpeta \ProgramData\Altium\Altium365Data\Repository del PC de 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
authz del repositorio, que se encuentra en la carpeta \ProgramData\Altium\Altium365Data\Repository del PC de 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.
Un repositorio de diseño que se crea mediante el servicio local de control de versiones tiene sus datos internos almacenados en una subcarpeta correspondiente dentro de la carpeta \ProgramData\Altium\Altium365Data\Repository (para una instalación predeterminada de Enterprise Server). Se recomienda que los archivos de la carpeta no se cambien ni editen, salvo por el personal de TI con fines de mantenimiento.
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 de 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 de 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 cuando se crea 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 para cada perfil de usuario en el Workspace; este último enfoque completará el archivo passwd según corresponda, y sin requerir acceso directo al PC de Enterprise Server.
En una instalación predeterminada de 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 de 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.
Tenga en cuenta que eliminar un repositorio de la página
Data Management – Design Repositories page del cuadro de diálogo
Preferences en Altium Designer solo elimina ese repositorio para que no lo use esa instancia de Altium Designer. No elimina el repositorio del servicio de control de versiones de Enterprise Server. Si cierra sesión en Enterprise Server y vuelve a iniciarla, el repositorio aparecerá una vez más en la lista de repositorios disponibles para esa instancia de Altium Designer.
Las entradas de repositorios externos se pueden eliminar, independientemente de si el repositorio contiene o no proyectos. Los repositorios locales, por otro lado (aquellos creados internamente mediante el servicio de control de versiones de Enterprise Server), no pueden eliminarse si contienen uno o más proyectos. Se le avisará de ello 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 estará contenido dentro de un archivo Dump, con un prefijo de ID único (por ejemplo, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).