Serviço Local de Controlo de Versões
Parent page: Tópicos Avançados
A instalação do Enterprise Server disponibiliza controlo de versões localizado (e centralizado), graças ao seu serviço de Controlo de Versões. Este serviço fornece capacidades de controlo de versões exatamente onde são necessárias, localmente, sem 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 a que repositórios os seus projetistas podem aceder e utilizar.
Principais Vantagens
Existem duas vantagens principais em utilizar este serviço centralizado de Controlo de Versões:
- Dispõe de utilizadores comuns e gestão de permissões tanto para o Altium Designer como para o SVN. Quando inicia sessão no Enterprise Server, o serviço de Controlo de Versões 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 do Workspace do Enterprise Server baseada em browser) são automaticamente preenchidos no Altium Designer durante o início de sessão, pelo que os utilizadores não têm 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.
Criação de Repositório
Os repositórios podem ser criados através do serviço local de Controlo de Versões (apenas SVN), ou podem ser estabelecidas ligações a 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 do Workspace baseada em browser, em termos de:
- O nome apresentado, descrição e caminho do repositório.
- A acessibilidade configurada – quais os utilizadores específicos que lhes podem aceder (ou funções, no caso dos repositórios definidos através do serviço local de Controlo de Versões).
- A disponibilidade – adicioná-los ou removê-los centralmente, em vez de cada projetista ter de criar e ligar-se a repositórios de forma independente.
Quando um utilizador do Altium Designer inicia sessão no Workspace, os Repositórios de Design que lhe estão disponíveis 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 Repositórios de Design da sua organização. Os repositórios podem ser internos à instalação do Enterprise Server, definidos com o serviço local de Controlo de Versões, 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 do Workspace baseada em browser. Quando um utilizador inicia sessão no Workspace, os Repositórios de Design que lhe estão disponíveis serão automaticamente adicionados à página Data Management – Design Repositories da caixa de diálogo Preferences .
Adicionar um Repositório
Para adicionar um Repositório de Design, clique no botão
, localizado no canto superior direito da página. Irá surgir a janela Add Repository; utilize-a para definir o repositório.
As propriedades necessárias dependem de estar a criar um novo repositório com o serviço local de Controlo de Versões, ou a associar-se a um repositório externo já existente:
- New – basta atribuir um nome e uma descrição ao repositório.
- Existing – para além de um nome e de uma descrição, precisa de fornecer o URL para o repositório e credenciais válidas (User Name, Password) para aceder a esse repositório (se necessário).
Crie um novo Repositório de Design baseado em SVN através do serviço local de Controlo de Versões do Enterprise Server, ou associe-se a um repositório existente (SVN ou Git) que tenha sido criado externamente ao Enterprise Server.
Um Repositório de Design externo associado distingue-se na lista de repositórios por ter a propriedade External assinalada
Para editar posteriormente as propriedades de um Repositório de Design, clique no respetivo controlo Edit Para remover um Repositório de Design, clique no respetivo controlo Remove
Partilhar um Repositório
Tendo centralizado os seus Repositórios de Design, precisa de garantir que aqueles que necessitam de acesso a um determinado repositório – incluindo os projetistas que irão trabalhar em designs de placas – dispõem desse acesso. Isto é conseguido através da partilha desse repositório, ou melhor, da gestão das respetivas permissões de acesso. Para o fazer, clique no controlo Share associado ao repositório.
Irá surgir a janela Manage Permissions, com todos os controlos necessários para partilhar o repositório com outros utilizadores.
Com os Repositórios de Design organizados centralmente, partilhar com outros é simplesmente uma questão de gerir as permissões de cada repositório.
Aspetos a ter em conta:
- Para um repositório local criado através do serviço de Controlo de Versões do Enterprise Server (ou seja, não externo), as permissões por predefinição partilham esse repositório com o utilizador que o criou e com a função Administrators. Ambos têm acesso completo de Leitura/Escrita.
- No caso de 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 de funções definidos para o Enterprise Server, ou publicamente. As funções são listadas depois dos utilizadores individuais.
- Em termos de permissões, um utilizador/função tem acesso de Leitura/Escrita quando a opção Can Write está ativada Se esta opção estiver desativada, terá apenas acesso de Leitura.
- Para remover um utilizador/função existente de um acesso partilhado a um repositório, clique no respetivo controlo Remove
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 que surge, 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) através do campo Permission. Utilize a lista pendente para escolher entre acesso Read ou acesso Read/Write.
-
Clique no botão
para confirmar a adição do(s) utilizador(es) e regressar à janela Manage Permissions.
-
Clique no botão
na janela Manage Permissions.
Sharing a Local Repository with a defined Role 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, também terá a capacidade de o partilhar com grupos de funções definidos para o seu Workspace. Para partilhar um repositório local (não externo) com outro grupo de funções:
- Clique no controlo Add Group na janela Manage Permissions.
- Na janela Add Groups apresentada, comece a escrever o nome de um grupo de funções no campo Select Groups to be added, para fazer surgir uma lista de funções correspondentes. Selecione a função pretendida nessa lista. Podem ser escolhidas várias funções. Para remover uma função, clique na cruz de eliminação, à direita do respetivo nome.
- Defina a permissão para o(s) grupo(s) de funçõ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 adição da(s) função(ões) e regressar à janela Manage Permissions.
-
Clique no botão
na janela Manage Permissions.
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, também terá a capacidade 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.
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 apresentada, comece a escrever o nome completo, nome de utilizador ou endereço de e-mail 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. 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 Barryfoi definido para utilizar o seu nome correspondente no repositórioBarrySmith, em vez do nome geralServerAdmin.
-
Clique no botão
na janela Manage Permissions.
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 utilizando um cliente SVN como o TortoiseSVN. O acesso é feito utilizando o protocolo de rede normal (o svn:// é atualmente suportado). O endereço correto do repositório pode ser acedido/copiado a partir de dois locais:
- A página VCS da interface do navegador do Workspace – no campo Repository Path para o repositório de destino.
Um repositório 'interno' criado a partir do Enterprise Server apresentará o seu caminho de endereço relativo ao Enterprise Server, que é o endereço localhost do PC anfitrião.
- A partir de Altium Designer, na página Data Management – Design Repositories da caixa de diálogo Preferences – no campo Repository para o repositório de destino.
Na perspetiva de 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.
Utilize o endereço obtido na funcionalidade de navegação de repositórios do seu cliente Subversion. No primeiro acesso, será aberta 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 prosseguir. 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, encontrado na pasta\ProgramData\Altium\Altium365Data\Repositorydo 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
authzdo repositório, encontrado na pasta\ProgramData\Altium\Altium365Data\Repositorydo 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.
Sincronização de Utilizadores do Enterprise Server & 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 da primeira. 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 de Altium Designer. Poderão ocorrer situações em que as credenciais de um utilizador não estejam incluídas no ficheiro, como por exemplo quando já existem utilizadores do Workspace aquando da criação do primeiro repositório SVN (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 preencherá o ficheiro passwd em conformidade e sem necessitar de acesso direto ao PC do Enterprise Server.
Numa instalação predefinida do Enterprise Server, as credenciais de utilizador são armazenadas para o serviço de Controlo de Versões no ficheiro associado Passwd.
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.
As entradas de repositórios externos podem ser eliminadas, independentemente de o repositório conter ou não projetos. Os repositórios locais, por outro lado (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 esse facto e deverá remover primeiro 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 sim 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).












