A instalação do Enterprise Server disponibiliza controlo de versões localizado (e centralizado), através do respetivo serviço de Version Control. Este serviço disponibiliza capacidades de controlo de versões exatamente onde são necessárias, localmente, sem necessidade de procurar ou pagar por software externo de gestão de VCS.
Ao definir repositórios de design de forma centralizada, uma organização pode controlar totalmente quais os repositórios a que os seus designers podem aceder e utilizar.
Relevance of the information on this page:
Uma nova instalação do Enterprise Server disponibiliza um único repositório de design baseado em Git para alojar todos os projetos de design do seu Workspace – e é só! Isto evita qualquer configuração e complexidade relacionadas com o serviço local de Version Control do Enterprise Server. Tem um único repositório de design – Versioned Storage – ao qual todos os seus designers podem aceder e para o qual podem fazer releases. Como tal, a página VCS da interface do navegador do Workspace passa a ser meramente informativa – não é possível adicionar um novo repositório, e o único repositório Git não pode ser modificado de forma alguma, nem eliminado. Assim, a informação nesta página não se aplica ao seu caso.
Se atualizou o seu Enterprise Server a partir de uma versão ou produto de servidor em que a utilização de repositórios SVN estava ativada, então estes continuarão ativados após a atualização (assegure-se de que atualiza o licenciamento do seu Altium On-Prem Enterprise Server). Isto permite-lhe continuar a utilizar o seu fluxo de design anterior (e já estabelecido). Nesse caso, pode continuar a criar repositórios através do serviço local de Version Control (apenas SVN), ou ligar-se a repositórios externos (SVN ou Git). Assim, a informação nesta página continua a ser relevante para si.
Important: Tenha em atenção que, caso contrário, o botão
ficará desativado, e a capacidade de criar/adicionar repositórios não estará disponível.
Principais Vantagens
Existem duas vantagens principais na utilização deste serviço centralizado de Version Control:
-
Ter gestão comum de utilizadores e permissões tanto para o Altium Designer como para o SVN. Quando inicia sessão no Enterprise Server, o serviço de Version Control funciona com a sua sessão/credenciais.
-
Os repositórios definidos através do Enterprise Server (através da página VCS (Admin – VCS) da interface baseada no navegador do Workspace do Enterprise Server) são automaticamente disponibilizados no Altium Designer durante o início de sessão, para que os utilizadores não tenham de se preocupar com URLs, protocolos, palavra-passe, etc. É simplesmente configurado uma vez no Enterprise Server e partilhado com os utilizadores pretendidos, conforme necessário.
Quando é criado um novo utilizador para o Enterprise Server, a Password definida para esse utilizador é armazenada tanto no Enterprise Server como no serviço SVN, uma vez que este último não pode aceder diretamente à palavra-passe do primeiro.
Criação de Repositórios
Os repositórios podem ser criados através do serviço local de Version Control (apenas SVN), ou podem ser ligados repositórios externos (SVN ou Git). Em conjunto, todos os repositórios são geridos centralmente através da página VCS (Admin – VCS) da interface baseada no navegador do Workspace, em termos de:
-
O nome apresentado, descrição e caminho do repositório.
-
A acessibilidade configurada – que utilizadores específicos lhes podem aceder (ou grupos, no caso de repositórios definidos através do serviço local de Version Control).
-
A disponibilidade – adicioná-los ou removê-los centralmente, em vez de cada designer ter de criar e ligar-se a repositórios de forma independente.
Estão disponíveis por predefinição dois Design Repositories, fornecidos pelo serviço local de Version Control e com os nomes DefaultRepository (um repositório SVN) e Versioned Storage (um repositório Git), respetivamente. O repositório DefaultRepository não pode ser renomeado, mas pode adicionar-lhe uma descrição, gerir o acesso dos utilizadores ao mesmo, ou removê-lo, conforme necessário. O repositório Versioned Storage, que se destina exclusivamente ao armazenamento integrado de projetos do Workspace, não pode ser renomeado, partilhado ou removido.
Quando um utilizador do Altium Designer inicia sessão no Workspace, os Design Repositories disponíveis para esse utilizador serão automaticamente adicionados à página Data Management – Design Repositories da caixa de diálogo Preferences. Tenha em atenção que a lista também incluirá quaisquer repositórios "não geridos" que tenham sido adicionados manualmente a partir desta página Preferences.
Defina centralmente o acesso aos Design Repositories da sua organização. Os repositórios podem ser internos à instalação do Enterprise Server, definidos através do serviço local de Version Control, ou externos através da utilização do SVN incorporado do Altium Designer, ou de um serviço SVN ou Git de terceiros. O controlo de acesso é efetuado através da VCS página da interface baseada no navegador do Workspace. Quando um utilizador inicia sessão no Workspace, os Design Repositories disponíveis para esse utilizador serão automaticamente adicionados à página Data Management – Design Repositories da caixa de diálogo Preferences .
Adicionar um Repositório
Para adicionar um Design Repository, clique no botão
, localizado no canto superior direito da página. A janela Add Repository será apresentada; utilize-a para definir o repositório.
Apenas repositórios do tipo SVN podem ser criados através do serviço local de Version Control. Os repositórios existentes (externos) podem ser ligados, e estes podem ser SVN ou Git.
As propriedades necessárias dependem de estar a criar um novo repositório utilizando o serviço local de Version Control, ou de estar a ligar-se a um repositório externo já existente:
-
New – atribua um nome e uma descrição ao repositório.
-
Existing – para além de um nome e de uma descrição, tem de indicar o URL para o repositório, e credenciais válidas (User Name, Password) para aceder a esse repositório (se necessário).
Quando criar um repositório interno ao Enterprise Server, o nome deve começar por, e pode conter, A-Z, a-z ou 0-9. São permitidos underscores, hífenes e espaços no meio do nome. Não pode utilizar as seguintes palavras: AUX, COM1-COM9, LPT1-LPT9, CON, NUL e PRN. Não existem restrições de nomenclatura para um repositório externo.
Crie um novo Design Repository baseado em SVN através do serviço local de Version Control do Enterprise Server, ou ligue-se a um repositório existente (SVN ou Git) que tenha sido criado externamente ao Enterprise Server.
Um Design Repository externo ligado distingue-se na lista de repositórios por ter a propriedade External assinalada (
).
Para editar as propriedades de um Design Repository numa fase posterior, clique no controlo Edit associado (
). Para remover um Design Repository, clique no controlo Remove associado (
).
A lista de repositórios é automaticamente ordenada alfabeticamente por Name, com os repositórios locais definidos através do serviço de Version Control listados primeiro, seguidos dos repositórios externos. O repositório Versioned Storage baseado em Git – que não pode ser modificado nem eliminado – aparece sempre no topo da lista.
Partilhar um Repositório
Tendo centralizado os seus Design Repositories, tem de garantir que aqueles que necessitam de acesso a um determinado repositório – incluindo os designers que irão trabalhar em designs de placas – dispõem desse acesso. Isto é conseguido partilhando esse repositório, ou melhor, gerindo as respetivas permissões de acesso. Para o fazer, clique no controlo Share associado ao repositório (
).
A janela Manage Permissions será apresentada, com todos os controlos necessários para partilhar o repositório com outros utilizadores.
Com os Design Repositories organizados centralmente, a partilha com outros resume-se simplesmente à gestão das permissões de cada repositório.
Aspetos a ter em conta:
-
Para um repositório local criado através do serviço de Version Control do Enterprise Server (ou seja, não externo), as permissões predefinidas partilham esse repositório com o utilizador que o criou e com o grupo Administrators. Ambos têm acesso total de Leitura/Escrita.
-
Para um repositório externo, este não é partilhado com ninguém por predefinição – nem sequer com o utilizador que adicionou uma ligação ao mesmo através da interface.
-
Apenas os repositórios locais (não externos) podem ser partilhados com grupos definidos para o Enterprise Server, ou publicamente. Os grupos são listados depois dos utilizadores individuais.
-
Em termos de permissões, um utilizador/grupo tem acesso de Leitura/Escrita quando a opção Can Write está ativada (
). Se esta opção estiver desativada, terá apenas acesso de Leitura.
Be Aware: As definições de permissões ao partilhar um repositório de design interno não estão a funcionar exatamente como seria de esperar. Mesmo que um repositório de design interno em si possa ser partilhado para acesso apenas de leitura com um utilizador do servidor, esse utilizador continua a poder criar NOVOS projetos do Workspace dentro desse repositório e obter permissões totais de Leitura/Escrita para as pastas de projeto correspondentes que forem criadas. Tenha em atenção que este funcionamento incorreto se aplica apenas a novos projetos do Workspace e respetivas pastas, criados por esse utilizador. O utilizador não terá permissões de Escrita para outras pastas do repositório.
-
Para remover um utilizador/grupo existente de ter acesso partilhado a um repositório, clique no controlo Remove associado (
).
Sharing a Local Repository with a Workspace User
Para partilhar um repositório local (não externo) com outro utilizador do Workspace:
-
Clique no controlo Add User na janela Manage Permissions.
-
Na janela Add Users apresentada, comece a escrever o nome completo, nome de utilizador ou endereço de email de um utilizador do Workspace no campo Select Users to be added, para fazer surgir uma lista de utilizadores correspondentes. Selecione o utilizador pretendido nessa lista. Podem ser escolhidos vários utilizadores. Para remover um utilizador, clique na cruz de eliminação, à direita do respetivo nome.
-
Defina a permissão para o(s) utilizador(es) utilizando o campo Permission. Utilize a lista pendente para escolher entre acesso Read ou acesso Read/Write.
-
Clique no botão
para confirmar a(s) adição(ões) de utilizador(es) e regressar à janela Manage Permissions.
-
Clique no botão
na janela Manage Permissions.
Para editar as permissões de um utilizador existente, utilize a opção Can Write na janela Manage Permissions, para alternar entre acesso de Leitura/Escrita (ativado) ou acesso Só de leitura (desativado).
Sharing a Local Repository with a defined Group
Se o repositório tiver sido criado através do serviço local de Controlo de Versões, em vez de um repositório externo, então também tem a possibilidade de o partilhar com grupos definidos para o seu Workspace. Para partilhar um repositório local (não externo) com outro grupo:
-
Clique no controlo Add Group na janela Manage Permissions.
-
Na janela Add Groups que aparece, comece a escrever o nome de um grupo no campo Select Groups to be added, para fazer surgir uma lista de grupos correspondentes. Selecione o grupo pretendido dessa lista. Podem ser escolhidos vários grupos. Para remover um grupo, clique na cruz de eliminação, à direita do respetivo nome.
-
Defina a permissão para o(s) grupo(s) utilizando o campo Permission. Use a lista pendente para escolher entre acesso Read ou acesso Read/Write.
-
Clique no botão
para confirmar a adição do(s) grupo(s) e regressar à janela Manage Permissions.
-
Clique no botão
na janela Manage Permissions.
Para editar as permissões de um grupo existente, utilize a opção Can Write na janela Manage Permissions, para alternar entre acesso de Leitura/Escrita (ativado) ou acesso Só de leitura (desativado).
Sharing a Local Repository with All Users
Se o repositório tiver sido criado através do serviço local de Controlo de Versões, em vez de um repositório externo, então também tem a possibilidade de partilhar esse repositório com todos os utilizadores do Workspace. Para partilhar um repositório local (não externo) com qualquer pessoa que possa iniciar sessão no Workspace:
-
Clique no controlo Add Anyone na janela Manage Permissions.
-
A entrada Anyone será adicionada diretamente à lista de entidades partilhadas e ficará automaticamente partilhada com acesso de Leitura/Escrita.
-
Clique no botão
na janela Manage Permissions.
Para editar as permissões da entidade Anyone, utilize a opção Can Write na janela Manage Permissions, para alternar entre acesso de Leitura/Escrita (ativado) ou acesso Só de leitura (desativado).
Sharing an External Repository with a Workspace User
Para partilhar um repositório externo com um utilizador do Workspace:
-
Clique no controlo Add User na janela Manage Permissions.
-
Na janela Add Users que aparece, comece a escrever o nome completo, nome de utilizador ou endereço de email de um utilizador do Workspace no campo Select Users to be added, para fazer surgir uma lista de utilizadores correspondentes. Selecione o utilizador pretendido dessa lista. Para remover o utilizador, clique na cruz de eliminação, à direita do respetivo nome.
No campo SVN User, introduza um nome que esteja registado no repositório externo (SVN ou Git) e que, por isso, tenha acesso. Normalmente, este seria o nome correspondente do utilizador registado no repositório
-
Clique no botão
para confirmar a adição do utilizador e regressar à janela Manage Permissions. Clique em Add User para adicionar mais utilizadores, conforme descrito no passo 2 acima. Tenha em atenção que, na segunda imagem de exemplo abaixo, o utilizador Barry foi configurado para usar o seu nome de repositório correspondente BarrySmith, em vez do nome geral ServerAdmin.
-
Clique no botão
na janela Manage Permissions.
Os utilizadores do Workspace podem ser mapeados para qualquer nome de utilizador válido no repositório SVN externo, e vários utilizadores do Workspace podem ser mapeados para um único nome de utilizador no repositório SVN externo.
-
O próprio acesso (em termos de Só de leitura ou Leitura/Escrita) é, em última análise, determinado pela instalação do repositório externo. O Enterprise Server não influencia a autorização de utilizadores do repositório externo e, por isso, não pode gerir estas permissões do lado do Enterprise Server.
-
Ao aceder a um repositório externo de um Enterprise Server a partir do Altium Designer, como por exemplo ao criar um novo projeto, poderão ser solicitadas credenciais de ligação ao repositório caso isso não tenha sido feito anteriormente. Estas credenciais serão usadas automaticamente em atividades subsequentes com este repositório.
Acesso Externo a um Repositório de Design SVN Local
Um Repositório de Design criado através do serviço local de Controlo de Versões do Enterprise Server pode ser acedido usando um cliente SVN, como o TortoiseSVN. O acesso é feito usando o protocolo de rede normal (o svn:// é atualmente suportado). O endereço correto do repositório pode ser acedido/copied de dois locais:
-
A página VCS da interface do navegador do Workspace – no campo Repository Path do repositório de destino.
Um repositório “interno” criado a partir do Enterprise Server mostrará o seu caminho de endereço relativo ao Enterprise Server, que é o endereço localhost do PC anfitrião.
Na perspetiva do Altium Designer – ou de qualquer aplicação que não esteja no PC anfitrião do Enterprise Server – os caminhos de endereço do repositório baseiam-se no nome dos respetivos PCs anfitriões.
O endereço apresentado dependerá de estar a aceder ao repositório a partir da mesma máquina em que o Enterprise Server está instalado (svn://localhost/<RepositoryName>) ou de um PC remoto (svn://<ComputerName>/<RepositoryName>, em que ComputerName é o nome do PC em que o Enterprise Server reside).
Utilize o endereço obtido na funcionalidade de navegação de repositórios do seu cliente Subversion. No primeiro acesso, abrir-se-á uma caixa de diálogo intermédia Authentication a solicitar credenciais de ligação válidas. Introduza o nome e a palavra-passe de uma conta de utilizador do Workspace para continuar. Estas credenciais são válidas se:
-
A conta de utilizador tiver sido adicionada after de o repositório ter sido criado no Enterprise Server. Os utilizadores que se aplicam aos repositórios criados podem ser vistos no ficheiro
passwd localizado na pasta \ProgramData\Altium\Altium365Data\Repository do PC do Enterprise Server – ver abaixo.
-
O repositório tiver sido partilhado com a conta de utilizador, adicionando esse nome de utilizador através do comando Add User na janela Manage Permissions for <repository name> do servidor. Isto é visível no ficheiro
authz do repositório, localizado na pasta \ProgramData\Altium\Altium365Data\Repository do PC do Enterprise Server.
Navegação no conteúdo de um Repositório de Design criado através do serviço local de Controlo de Versões baseado em SVN da instalação do Enterprise Server.
Um Repositório de Design criado através do serviço local de Controlo de Versões tem os seus dados internos armazenados numa subpasta correspondente na pasta \ProgramData\Altium\Altium365Data\Repository (numa instalação predefinida do Enterprise Server). Recomenda-se que os ficheiros nessa pasta não sejam alterados nem editados, exceto por pessoal de TI para fins de manutenção.
Enterprise Server & Sincronização de Utilizadores VCS
Quando é criado um novo utilizador para o Workspace, as credenciais definidas (User Name e Password) para esse utilizador são armazenadas tanto na base de dados do Enterprise Server como no serviço de Controlo de Versões, uma vez que este último não consegue aceder diretamente à palavra-passe do primeiro. A palavra-passe é armazenada no serviço de Controlo de Versões em formato de texto simples (no ficheiro \ProgramData\Altium\Altium365Data\Repository\passwd).
As entradas nesta lista fornecem acesso ao repositório SVN do Enterprise Server ao trabalhar com o serviço através do Altium Designer. Poderão existir ocasiões em que as credenciais de um utilizador não estejam incluídas no ficheiro, como por exemplo quando já existem utilizadores do Workspace no momento em que o primeiro repositório SVN é criado (em vez do contrário). Isto pode ser resolvido adicionando manualmente essas combinações nome/palavra-passe ao ficheiro passwd, ou voltando a introduzir a palavra-passe de cada perfil de utilizador no Workspace – esta última abordagem irá preencher o ficheiro passwd em conformidade, sem exigir acesso direto ao PC do Enterprise Server.
Numa instalação predefinida do Enterprise Server, as credenciais dos utilizadores são armazenadas para o serviço de Controlo de Versões no ficheiro Passwd associado.
Eliminar um Repositório
Para eliminar um repositório do serviço de Controlo de Versões do Enterprise Server, clique no controlo Remove (
) associado a esse repositório, na página VCS da interface baseada no navegador do Workspace.
Tenha em atenção que remover um repositório da página
Data Management – Design Repositories page da caixa de diálogo
Preferences no Altium Designer apenas remove esse repositório de ser usado por essa instância do Altium Designer. Não elimina o repositório do serviço de Controlo de Versões do Enterprise Server. Se terminar sessão no Enterprise Server e voltar a iniciar sessão, o repositório voltará a aparecer na lista de repositórios disponíveis para essa instância do Altium Designer.
As entradas de repositórios externos podem ser eliminadas, independentemente de o repositório conter ou não projetos. Já os repositórios locais (aqueles criados internamente através do serviço de Controlo de Versões do Enterprise Server) não podem ser eliminados se contiverem um ou mais projetos. Será alertado para isso, devendo primeiro remover os projetos antes de poder prosseguir com a eliminação.
Mesmo assim, se um repositório local não tiver projetos, não será efetivamente eliminado, mas antes movido para um diretório de arquivo (\ProgramData\Altium\Altium365Data\RepositoryDumps, numa instalação predefinida do Enterprise Server). O repositório ficará contido num ficheiro Dump, com um prefixo de ID Único (por exemplo, 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).