Servicio local de control de versiones
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 utilizar sus diseñadores.
Ventajas principales
Hay dos ventajas principales 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 basada en navegador del Workspace de Enterprise Server) se incorporan automáticamente a 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 Version Control (solo SVN), o 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 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 grupos en el caso de los 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.
Cuando un usuario de Altium Designer 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 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 de forma centralizada 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 basada en navegador 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
, situado en la parte superior derecha de la página. Aparecerá la ventana Add Repository; úsela para definir el repositorio.
Las propiedades requeridas 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).
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 por tener marcada su propiedad External
Para editar las propiedades de un Design Repository en una etapa posterior, haga clic en el control Edit asociado Para eliminar un Design Repository, haga clic en el control Remove asociado
Compartir un repositorio
Una vez centralizados 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 dicho acceso. Esto se logra compartiendo ese repositorio o, más exactamente, 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 Design Repositories organizados de forma centralizada, compartirlos con otros es simplemente una cuestión de administrar los permisos de cada repositorio.
Cosas que debe tener en cuenta:
- En el caso de 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, no se comparte con nadie de forma predeterminada, ni siquiera con el usuario que agregó una conexión a él a través de la interfaz.
- Solo los repositorios locales (no externos) pueden compartirse con grupos definidos para Enterprise Server o de forma pública. Los grupos aparecen listados después de los usuarios individuales.
- En cuanto a los 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.
- Para quitar el acceso compartido a un repositorio a un usuario/grupo existente, haga clic en el control asociado Remove
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 mostrar una lista emergente de usuarios coincidentes. Seleccione de esta lista el usuario requerido. 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) 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.
Compartir un repositorio local con un grupo definido
Si el repositorio se ha creado mediante el servicio local de control de versiones, en lugar de un repositorio externo, también tiene 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.
Compartir un repositorio local con todos los usuarios
Si el repositorio se ha creado mediante el servicio local de control de versiones, en lugar de un repositorio externo, también tiene 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.
Compartir un repositorio externo con un usuario del Workspace
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 del 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 de abajo, el usuario Barryse ha configurado para usar su nombre coincidente del repositorioBarrySmith, 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
Un repositorio de diseño que se crea mediante el servicio local de control de versiones del Enterprise Server puede accederse 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 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; 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 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 solucionarse 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 enfoque completará el archivo passwd en consecuencia, y sin requerir acceso directo al PC del 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.
Eliminar 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 o no proyectos. 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 primero deberá eliminar 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 de Enterprise Server). El repositorio quedará contenido dentro de un archivo Dump, con un prefijo de ID único (por ejemplo, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).