L'installazione di Enterprise Server fornisce un controllo di versione localizzato (e centralizzato), grazie al suo servizio di Version Control. Questo servizio offre funzionalità di controllo di versione esattamente dove servono, in locale, senza dover cercare o pagare software esterni di gestione VCS.
Definendo i repository di progettazione in questo modo centralizzato, un'organizzazione può controllare completamente a quali repository i propri progettisti possono accedere e quali possono utilizzare.
Relevance of the information on this page:
Una nuova installazione di Enterprise Server fornisce un singolo repository di progettazione basato su Git per ospitare tutti i progetti di progettazione del Workspace, e basta! Questo evita qualsiasi configurazione e complessità relativa al servizio locale di Version Control di Enterprise Server. Hai un unico repository di progettazione – Versioned Storage – a cui tutti i tuoi progettisti possono accedere e in cui possono rilasciare. Di conseguenza, la pagina VCS dell'interfaccia browser del Workspace diventa puramente informativa: non puoi aggiungere un nuovo repository e l'unico repository Git non può essere modificato in alcun modo né eliminato. Le informazioni in questa pagina, pertanto, non si applicano al tuo caso.
Se hai aggiornato il tuo Enterprise Server da una versione o da un prodotto server in cui era abilitato l'uso di repository SVN, questi rimarranno abilitati anche dopo l'aggiornamento (assicurati di aggiornare la licenza di Altium On-Prem Enterprise Server). Questo ti consente di continuare a utilizzare il tuo precedente flusso di progettazione già consolidato. In questo caso, puoi continuare a creare repository tramite il servizio locale di Version Control (solo SVN), oppure collegarti a repository esterni (SVN o Git). Le informazioni in questa pagina restano quindi pertinenti anche per te.
Important: Tieni presente che, in caso contrario, il pulsante
sarà disattivato e la possibilità di creare/aggiungere repository non sarà disponibile.
Vantaggi principali
Ci sono due vantaggi principali nell'utilizzare questo servizio centralizzato di Version Control:
-
Hai utenti e gestione dei diritti comuni sia per Altium Designer sia per SVN. Quando accedi a Enterprise Server, il servizio di Version Control funziona con la tua sessione/le tue credenziali.
-
I repository definiti tramite Enterprise Server (attraverso la pagina VCS (Admin – VCS) dell'interfaccia browser del Workspace di Enterprise Server) vengono popolati automaticamente in Altium Designer durante l'accesso, quindi gli utenti non devono preoccuparsi di URL, protocolli, password, ecc. Viene semplicemente configurato una volta su Enterprise Server e condiviso con gli utenti previsti secondo necessità.
Quando viene creato un nuovo utente per Enterprise Server, la Password di quell'utente viene memorizzata sia in Enterprise Server sia nel servizio SVN, poiché quest'ultimo non può accedere direttamente alla password del primo.
Creazione di repository
I repository possono essere creati tramite il servizio locale di Version Control (solo SVN), oppure è possibile collegarsi a repository esterni (SVN o Git). Insieme, tutti i repository vengono gestiti centralmente tramite la pagina VCS (Admin – VCS) dell'interfaccia browser del Workspace, in termini di:
-
Il nome visualizzato, la descrizione e il percorso del repository.
-
L'accessibilità configurata: quali utenti specifici possono accedervi (o gruppi, nel caso di repository definiti tramite il servizio locale di Version Control).
-
La loro disponibilità: aggiungerli o rimuoverli centralmente, invece di richiedere ai singoli progettisti di creare e collegarsi ai repository in modo indipendente.
Per impostazione predefinita sono disponibili due Design Repositories, forniti dal servizio locale di Version Control e denominati rispettivamente DefaultRepository (un repository SVN) e Versioned Storage (un repository Git). Il repository DefaultRepository non può essere rinominato, ma puoi aggiungervi una descrizione, gestire l'accesso degli utenti oppure rimuoverlo, secondo necessità. Il repository Versioned Storage, che è destinato esclusivamente all'archiviazione integrata dei progetti del Workspace, non può essere rinominato, condiviso o rimosso.
Quando un utente di Altium Designer accede al Workspace, i Design Repositories a lui disponibili verranno aggiunti automaticamente alla pagina Data Management – Design Repositories page della finestra di dialogo Preferences. Tieni presente che l'elenco includerà anche eventuali repository "non gestiti" aggiunti manualmente da questa pagina Preferences.
Definisci centralmente l'accesso ai Design Repositories della tua organizzazione. I repository possono essere interni all'installazione di Enterprise Server, definiti utilizzando il servizio locale di Version Control, oppure esterni tramite l'SVN integrato di Altium Designer o un servizio SVN o Git di terze parti. Il controllo degli accessi viene eseguito tramite la pagina VCS dell'interfaccia browser del Workspace. Quando un utente accede al Workspace, i Design Repositories a lui disponibili verranno aggiunti automaticamente alla pagina Data Management – Design Repositories della finestra di dialogo Preferences .
Aggiunta di un repository
Per aggiungere un Design Repository, fai clic sul pulsante
, situato in alto a destra nella pagina. Verrà visualizzata la finestra Add Repository, da utilizzare per definire il repository.
Tramite il servizio locale di Version Control possono essere creati solo repository di tipo SVN. È possibile collegarsi a repository esistenti (esterni), che possono essere sia SVN sia Git.
Le proprietà richieste dipendono dal fatto che tu stia creando un nuovo repository utilizzando il servizio locale di Version Control oppure collegandoti a un repository esterno esistente:
-
New – assegna al repository un nome e una descrizione.
-
Existing – oltre a nome e descrizione, devi fornire il URL del repository e credenziali valide (User Name, Password) per accedere a quel repository, se richiesto.
Quando si crea un repository interno a Enterprise Server, il nome deve iniziare con e può contenere A-Z, a-z o 0-9. Underscore, trattini e spazi sono consentiti all'interno del nome. Non puoi utilizzare le seguenti parole: AUX, COM1-COM9, LPT1-LPT9, CON, NUL e PRN. Non ci sono restrizioni di denominazione per un repository esterno.
Crea un nuovo Design Repository basato su SVN tramite il servizio locale di Version Control di Enterprise Server, oppure collegati a un repository esistente (SVN o Git) creato esternamente a Enterprise Server.
Un Design Repository esterno collegato si distingue nell'elenco dei repository perché la sua proprietà External è selezionata (
).
Per modificare in un secondo momento le proprietà di un Design Repository, fai clic sul relativo controllo Edit (
). Per rimuovere un Design Repository, fai clic sul relativo controllo Remove (
).
L'elenco dei repository viene ordinato automaticamente in ordine alfabetico per Name, con i repository locali definiti tramite il servizio di Version Control elencati per primi e, successivamente, i repository esterni. Il repository Versioned Storage basato su Git, che non può essere modificato né eliminato, appare sempre in cima all'elenco.
Condivisione di un repository
Dopo aver centralizzato i tuoi Design Repositories, devi assicurarti che chi necessita di accedere a un determinato repository, inclusi i progettisti che lavoreranno ai progetti di schede, disponga di tale accesso. Questo si ottiene condividendo quel repository, o più precisamente gestendone i permessi di accesso. Per farlo, fai clic sul controllo Share associato al repository (
).
Verrà visualizzata la finestra Manage Permissions, con tutti i controlli necessari per condividere il repository con altri utenti.
Con i Design Repositories organizzati centralmente, la condivisione con altri consiste semplicemente nella gestione dei permessi di ciascun repository.
Aspetti da tenere presenti:
-
Per un repository locale creato tramite il servizio di Version Control di Enterprise Server (cioè non esterno), i permessi predefiniti condividono quel repository con l'utente che lo ha creato e con il gruppo Administrators. Entrambi dispongono di accesso completo in lettura/scrittura.
-
Per un repository esterno, per impostazione predefinita non viene condiviso con nessuno, nemmeno con l'utente che ha aggiunto la connessione tramite l'interfaccia.
-
Solo i repository locali (non esterni) possono essere condivisi con gruppi definiti per Enterprise Server o pubblicamente. I gruppi sono elencati dopo i singoli utenti.
-
In termini di permessi, un utente/gruppo ha accesso in lettura/scrittura quando l'opzione Can Write è abilitata (
). Se questa opzione è disabilitata, ha accesso in sola lettura.
Be Aware: Le impostazioni dei permessi durante la condivisione di un repository di progettazione interno non funzionano esattamente come ci si aspetterebbe. Anche se un repository di progettazione interno potrebbe essere condiviso in sola lettura con un utente del server, quell'utente è comunque in grado di creare NUOVI progetti Workspace all'interno di quel repository e ottenere permessi completi di lettura/scrittura per le corrispondenti cartelle di progetto create. Tieni presente che questo comportamento errato si applica solo ai nuovi progetti Workspace e alle relative cartelle creati da quell'utente. L'utente non avrà permessi di scrittura per le altre cartelle del repository.
-
Per rimuovere l'accesso condiviso a un repository per un utente/gruppo esistente, fai clic sul relativo controllo Remove (
).
Sharing a Local Repository with a Workspace User
Per condividere un repository locale (non esterno) con un altro utente del Workspace:
-
Fai clic sul controllo Add User nella finestra Manage Permissions.
-
Nella finestra Add Users visualizzata, inizia a digitare il nome completo, il nome utente o l'indirizzo email di un utente del Workspace nel campo Select Users to be added, per visualizzare un elenco a comparsa degli utenti corrispondenti. Seleziona l'utente richiesto da questo elenco. È possibile scegliere più utenti. Per rimuovere un utente, fai clic sulla croce di eliminazione a destra del suo nome.
-
Imposta il permesso per l'utente/gli utenti utilizzando il campo Permission. Usa il menu a discesa per scegliere tra accesso Read o accesso Read/Write.
-
Fai clic sul pulsante
per confermare l'aggiunta dell'utente/degli utenti e tornare alla finestra Manage Permissions.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Per modificare le autorizzazioni per un utente esistente, usa l'opzione Can Write nella finestra Manage Permissions, per passare dall'accesso in lettura/scrittura (abilitato) all'accesso in sola lettura (disabilitato).
Condivisione di un repository locale con un gruppo definito
Se il repository è stato creato tramite il servizio di controllo versione locale, anziché come repository esterno, hai anche la possibilità di condividerlo con i gruppi definiti per il tuo Workspace. Per condividere un repository locale (non esterno) con un altro gruppo:
-
Fai clic sul controllo Add Group nella finestra Manage Permissions.
-
Nella finestra Add Groups visualizzata, inizia a digitare il nome di un gruppo nel campo Select Groups to be added per visualizzare un elenco di gruppi corrispondenti. Seleziona il gruppo richiesto da questo elenco. È possibile scegliere più gruppi. Per rimuovere un gruppo, fai clic sulla x di eliminazione a destra del suo nome.
-
Imposta l'autorizzazione per il gruppo o i gruppi usando il campo Permission. Usa il menu a discesa per scegliere tra accesso Read o accesso Read/Write.
-
Fai clic sul pulsante
per confermare l'aggiunta del gruppo o dei gruppi e tornare alla finestra Manage Permissions.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Per modificare le autorizzazioni per un gruppo esistente, usa l'opzione Can Write nella finestra Manage Permissions, per passare dall'accesso in lettura/scrittura (abilitato) all'accesso in sola lettura (disabilitato).
Condivisione di un repository locale con tutti gli utenti
Se il repository è stato creato tramite il servizio di controllo versione locale, anziché come repository esterno, hai anche la possibilità di condividere tale repository con tutti gli utenti del Workspace. Per condividere un repository locale (non esterno) con chiunque possa accedere al Workspace:
-
Fai clic sul controllo Add Anyone nella finestra Manage Permissions.
-
La voce Anyone verrà aggiunta direttamente all'elenco delle entità condivise e condivisa automaticamente con accesso in lettura/scrittura.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Per modificare le autorizzazioni per l'entità Anyone, usa l'opzione Can Write nella finestra Manage Permissions, per passare dall'accesso in lettura/scrittura (abilitato) all'accesso in sola lettura (disabilitato).
Condivisione di un repository esterno con un utente del Workspace
Per condividere un repository esterno con un utente del Workspace:
-
Fai clic sul controllo Add User nella finestra Manage Permissions.
-
Nella finestra Add Users visualizzata, inizia a digitare il nome completo, il nome utente o l'indirizzo email di un utente del Workspace nel campo Select Users to be added, per visualizzare un elenco di utenti corrispondenti. Seleziona l'utente richiesto da questo elenco. Per rimuovere l'utente, fai clic sulla x di eliminazione a destra del suo nome.
Nel campo SVN User, inserisci un nome registrato nel repository esterno (SVN o Git) e che quindi dispone dell'accesso. In genere, si tratterà del nome corrispondente dell'utente registrato nel repository
-
Fai clic sul pulsante
per confermare l'aggiunta dell'utente e tornare alla finestra Manage Permissions. Fai clic su Add User per aggiungere altri utenti come descritto al passaggio 2 sopra. Nota che, nella seconda immagine di esempio qui sotto, all'utente Barry è stato impostato l'uso del nome del repository corrispondente BarrySmith, anziché del nome generale ServerAdmin.
-
Fai clic sul pulsante
nella finestra Manage Permissions.
Gli utenti del Workspace possono essere mappati a qualsiasi nome utente valido nel repository SVN esterno e più utenti del Workspace possono essere mappati a un singolo nome utente nel repository SVN esterno.
-
L'accesso stesso (in termini di sola lettura o lettura/scrittura) è in ultima analisi determinato dall'installazione del repository esterno. Enterprise Server non influisce sull'autorizzazione utente del repository esterno e quindi non può gestire queste autorizzazioni dal lato di Enterprise Server.
-
Quando si accede a un repository esterno di Enterprise Server da Altium Designer, ad esempio durante la creazione di un nuovo progetto, potrebbero essere richieste le credenziali di connessione al repository se ciò non è già stato fatto in precedenza. Queste credenziali verranno utilizzate automaticamente per le attività successive con questo repository.
Accesso esterno a un repository di progettazione SVN locale
Un Design Repository creato tramite il servizio di controllo versione locale di Enterprise Server può essere accessibile usando un client SVN come TortoiseSVN. L'accesso avviene usando il normale protocollo di rete (attualmente è supportato svn://). L'indirizzo corretto del repository può essere visualizzato/copiato da due posizioni:
-
La pagina VCS dell'interfaccia browser del Workspace, nel campo Repository Path del repository di destinazione.
Un repository "interno" creato da Enterprise Server mostrerà il proprio percorso di indirizzo relativo a Enterprise Server, che corrisponde all'indirizzo localhost del PC host.
Dal punto di vista di Altium Designer, o di qualsiasi applicazione non presente sul PC host di Enterprise Server, i percorsi degli indirizzi del repository si basano sul nome dei rispettivi PC host.
L'indirizzo mostrato dipenderà dal fatto che tu stia accedendo al repository dalla stessa macchina su cui è installato Enterprise Server (svn://localhost/<RepositoryName>) oppure da un PC remoto (svn://<ComputerName>/<RepositoryName>, dove ComputerName è il nome del PC su cui risiede Enterprise Server).
Usa l'indirizzo ottenuto nella funzione di esplorazione del repository del tuo client Subversion. Al primo accesso si aprirà una finestra di dialogo intermedia Authentication che richiederà credenziali di connessione valide. Inserisci il nome e la password di un account utente del Workspace per procedere. Queste credenziali sono valide se:
-
L'account utente è stato aggiunto after il repository è stato creato in Enterprise Server. Gli utenti applicati ai repository creati possono essere visualizzati nel file
passwd presente nella cartella \ProgramData\Altium\Altium365Data\Repository del PC Enterprise Server – vedi sotto.
-
Il repository è stato condiviso con l'account utente, aggiungendo quel nome utente tramite il comando Add User nella finestra Manage Permissions for <repository name> del server. Ciò è evidente nel file
authz del repository, presente nella cartella \ProgramData\Altium\Altium365Data\Repository del PC Enterprise Server.
Esplorazione del contenuto di un Design Repository creato tramite il servizio di controllo versione locale basato su SVN dell'installazione di Enterprise Server.
Un Design Repository creato tramite il servizio di controllo versione locale memorizza i propri dati interni in una sottocartella corrispondente nella cartella \ProgramData\Altium\Altium365Data\Repository (per un'installazione predefinita di Enterprise Server). Si consiglia di non modificare né alterare i file nella cartella, salvo da parte del personale IT per scopi di manutenzione.
Sincronizzazione utenti Enterprise Server & VCS
Quando viene creato un nuovo utente per il Workspace, le credenziali definite (User Name e Password) per tale utente vengono memorizzate sia nel database di Enterprise Server sia nel servizio di controllo versione, poiché quest'ultimo non può accedere direttamente alla password dal primo. La password viene memorizzata nel servizio di controllo versione in formato testo semplice (nel file \ProgramData\Altium\Altium365Data\Repository\passwd).
Le voci in questo elenco forniscono accesso al repository SVN di Enterprise Server quando si utilizza il servizio tramite Altium Designer. Possono verificarsi casi in cui le credenziali di un utente non siano incluse nel file, ad esempio quando gli utenti del Workspace esistono già al momento della creazione del primo repository SVN (anziché il contrario). Questo problema può essere risolto aggiungendo manualmente tali combinazioni nome/password al file passwd, oppure reinserendo la password per ciascun profilo utente nel Workspace: quest'ultimo approccio popolerà il file passwd di conseguenza, senza richiedere accesso diretto al PC Enterprise Server.
In un'installazione predefinita di Enterprise Server, le credenziali utente per il servizio di controllo versione sono memorizzate nel file associato Passwd.
Eliminazione di un repository
Per eliminare un repository dal servizio di controllo versione di Enterprise Server, fai clic sul controllo Remove (
) associato a quel repository, nella pagina VCS dell'interfaccia browser del Workspace.
Nota che rimuovere un repository dalla pagina
Data Management – Design Repositories page della finestra di dialogo
Preferences in Altium Designer rimuove quel repository solo dall'uso in quell'istanza di Altium Designer. Non elimina il repository dal servizio di controllo versione di Enterprise Server. Se esci da Enterprise Server e accedi di nuovo, il repository apparirà nuovamente nell'elenco dei repository disponibili per quell'istanza di Altium Designer.
Le voci dei repository esterni possono essere eliminate indipendentemente dal fatto che il repository contenga o meno progetti. I repository locali, invece, cioè quelli creati internamente tramite il servizio di controllo versione di Enterprise Server, non possono essere eliminati se contengono uno o più progetti. Verrai avvisato di ciò e dovrai prima rimuovere i progetti per poter procedere con l'eliminazione.
Anche in quel caso, se un repository locale non contiene progetti, non verrà effettivamente eliminato, ma spostato in una directory di archivio (\ProgramData\Altium\Altium365Data\RepositoryDumps, per un'installazione predefinita di Enterprise Server). Il repository sarà contenuto in un file Dump, con un prefisso ID univoco (ad esempio 775f6c22-b9a1-468c-9f1f-4f217bb3be6b_central design repository.dump).