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.
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 nada mais! Isto evita qualquer configuração e complexidade relativamente ao serviço local de Controlo de Versões do Enterprise Server. Tem um único repositório de design – Versioned Storage – ao qual todos os seus projetistas podem aceder e para o qual podem fazer release. Assim, a página VCS da interface do browser do Workspace passa a ser meramente informativa – não pode adicionar um novo repositório, e o único repositório Git não pode ser modificado de forma alguma, nem eliminado. Por conseguinte, a informação nesta página não se aplica a si.
Se tiver atualizado o seu Enterprise Server a partir do Altium Vault 3.0, a utilização de repositórios SVN também ficará ativada, para que possa continuar a usar o seu fluxo de design anterior (e já estabelecido). Neste caso, pode continuar a criar repositórios através do serviço local de Controlo de Versões (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á esbatido, e a capacidade de criar/adicionar repositórios não estará disponível.
Para mais informações sobre Repositórios de Design e sobre como trabalhar com eles através do Altium Designer, consulte
Using External Version Control.
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.
Quando é criado um novo utilizador para o Enterprise Server, a Password desse utilizador é armazenada tanto no Enterprise Server como no serviço SVN, uma vez que este último não consegue aceder diretamente à palavra-passe do primeiro.
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.
Dois Repositórios de Design estão disponíveis por predefinição, fornecidos pelo serviço local de Controlo de Versões 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 nem removido.
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.
Apenas repositórios do tipo SVN podem ser criados através do serviço local de Controlo de Versões. Os repositórios existentes (externos) podem ser associados, e estes podem ser SVN ou Git.
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).
Ao 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 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 (
).
A lista de repositórios é automaticamente ordenada alfabeticamente por Name, com os repositórios locais definidos através do serviço de Controlo de Versões 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 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.
Be Aware: As definições de permissão ao partilhar um repositório de design interno não estão a funcionar exatamente como seria de esperar. Embora o próprio repositório de design interno possa ser partilhado com acesso apenas de Leitura para um utilizador do servidor, esse utilizador continua a conseguir criar NOVOS projetos do Workspace nesse repositório e obter permissões completas de Leitura/Escrita para as pastas de projeto correspondentes que forem criadas. Tenha em atenção que este comportamento 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 no repositório.
-
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.
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 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.
Para editar as permissões de uma função 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, 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.
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 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 Barry foi definido para utilizar o seu nome correspondente no repositório 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 do Enterprise Server a partir de Altium Designer, 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 utilizadas 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 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.
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.
O endereço apresentado dependerá de estar a aceder ao repositório a partir da mesma máquina na qual o Enterprise Server está instalado (svn://localhost/<RepositoryName>) ou a partir de um PC remoto (svn://<ComputerName>/<RepositoryName>, em que ComputerName é o nome do PC no qual o Enterprise Server está instalado).
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\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, encontrado 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 na pasta não sejam alterados nem editados, exceto por pessoal de TI para fins de manutenção.
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.
Tenha em atenção que remover um repositório da página
Data Management – Design Repositories da caixa de diálogo
Preferences em Altium Designer apenas remove esse repositório de ser utilizado por essa instância de 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 iniciá-la, o repositório voltará a aparecer na lista de repositórios disponíveis para essa instância de Altium Designer.
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).