Passare da un ambiente a un altro per Azure DevOps in locale
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Lo scenario di spostamento basato sull'ambiente più comune consiste nel modificare il dominio della distribuzione Azure DevOps Server, indipendentemente dal fatto che si tratti di una modifica del nome di dominio o che passi da un gruppo di lavoro a un dominio.
Importante
In alcune situazioni potrebbe essere necessario modificare il dominio di una distribuzione Azure DevOps Server e il relativo hardware. La modifica dell'hardware è uno spostamento basato su ripristino e i due tipi di spostamento non devono mai essere associati. Completare prima lo spostamento dell'hardware e quindi modificare l'ambiente.
Inoltre, la modifica delle identità in Azure DevOps Server come parte di uno spostamento ambientale è l'aspetto che più spesso causa conflitti o problemi. Il comando Identityes è uno strumento potente, ma presenta alcune limitazioni. Approfondire l'argomento come parte della pianificazione dello spostamento. Per garantire che uno spostamento venga eseguito correttamente, assicurarsi di aver compreso i requisiti seguenti:
- Una volta presente un account utente in Azure DevOps Server, non può essere rimosso o avere un altro account mappato. Ad esempio, se si sposta DomainA/UserA in DomainB/UserB, il comando Identità funzionerà solo per eseguire la migrazione dell'utente se DomainB/UserB non è già presente in Azure DevOps Server.
- Poiché i membri del gruppo Administrators locale vengono aggiunti automaticamente a Azure DevOps Server, assicurarsi di rimuovere tutti gli account di cui si vuole eseguire la migrazione da tale gruppo prima di modificare il dominio o l'ambiente.
Per altre informazioni di base, vedere qui per una descrizione dettagliata del funzionamento delle modifiche all'identità in Azure DevOps Server, incluse le limitazioni dello strumento.
Verranno illustrati i passaggi per modificare l'ambiente della distribuzione di Azure DevOps Server nelle sezioni seguenti:
- Controllare le autorizzazioni e gli account
- Arrestare i servizi di Azure DevOps Server
- Eseguire il backup dei dati
- Aggiungere Azure DevOps Server al nuovo dominio
- Spostare Azure DevOps Server account utente e di servizio
- Configurare Reporting Services e Analysis Services
- Riavviare i servizi di Azure DevOps Server
Controllare le autorizzazioni e gli account
Per modificare correttamente l'ambiente per Azure DevOps Server, è necessario essere un amministratore nel computer locale, nonché per Azure DevOps Server e tutto il software da cui dipende la distribuzione: SQL Server, creazione di report e qualsiasi altro software con cui la distribuzione interagisce, ad esempio Project Server. Tuttavia, tutti i membri del gruppo Administrators locale vengono inclusi automaticamente in Azure DevOps Server, che possono causare problemi durante il tentativo di migrazione degli account. Pertanto, è necessario utilizzare un account che non si intende migrare come parte dello spostamento di ambiente. È consigliabile aggiungere un account amministrativo specifico per lo spostamento e utilizzarlo per eseguire la migrazione.
Per verificare le autorizzazioni a livello di amministratore
- Assicurarsi che l'account utilizzato sia un membro dei seguenti gruppi:
- Server: Amministratori (gruppo Administrators locale o equivalente)
- Azure DevOps Server: amministratori di Team Foundation e utenti della console di Amministrazione
- SQL Server: sysadmin
Se non si è membri di uno o più di questi gruppi, ottenere ora le autorizzazioni.
Una volta ottenuto un account con tutte le autorizzazioni necessarie, è possibile avviare il controllo degli account per verificare l'eventuale presenza di conflitti con i nomi o i gruppi nell'ambiente di destinazione. È noto che non è possibile eseguire la migrazione degli account che sono membri del gruppo Administrators locale, pertanto è possibile rimuoverli per primi.
Rimuovere gli account da migrare dal gruppo Administrators locale
- Aprire il gruppo Administrators locale e rimuovere tutti gli account che si desidera migrare nel nuovo ambiente. Ripetere questo passaggio per tutti gli altri gruppi interessati.
Controllare ora l'elenco delle identità nell'ambiente di Azure DevOps Server corrente e cercare eventuali potenziali problemi con gruppi o singoli account utente che potrebbero esistere nel nuovo ambiente.
Suggerimento
Si consiglia di creare una tabella o una mappa di migrazione delle identità da spostare come parte dello spostamento di ambiente, includendo i dettagli degli account per cui la migrazione potrebbe non essere eseguita automaticamente.
Verificare le identità
Nel server a livello di applicazione per Azure DevOps aprire una finestra del prompt dei comandi con autorizzazioni amministrative, passare a %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools ed eseguire il comando seguente per visualizzare le identità attualmente presenti nel sistema:
TFSConfig Identities
Verrà visualizzato un elenco di identità. Controllare questi utenti e gruppi per assicurarsi che non siano presenti potenziali duplicati o problemi con le identità nell'ambiente in cui si sposterà Azure DevOps Server e adottare misure per attenuare eventuali potenziali conflitti.
Arrestare i servizi
L'arresto dei servizi garantisce l'impossibilità da parte degli utenti di apportare modifiche agli elementi di lavoro o di archiviare codice sorgente nella distribuzione originale durante o dopo il processo di spostamento.
Nel computer a livello di applicazione aprire una finestra del prompt dei comandi e passare a Unità:\%programfiles%\TFS 12.0\Tools.
Digitare il comando TFSServiceControl seguente:
TFSServiceControl quiesce
Eseguire il backup dei database e della chiave di crittografia di SQL Server Reporting Services
Aprire la console di amministrazione per Azure DevOps Server e nella pagina Backup pianificati eseguire un backup completo. Verrà eseguito il backup di tutti gli elementi configurati nel piano di backup. L'operazione verrà tuttavia eseguita immediatamente e non in base alla tempistica prevista nel piano. Se nella distribuzione è usata la creazione rapporti, è possibile eseguire il backup della chiave di crittografia nell'ambito di questo set di backup.
Se non sono stati configurati backup, è necessario creare un piano prima di poter eseguire un backup completo.
Una volta completato, verificare che il backup sia disponibile nel dispositivo di archiviazione o nella condivisione di rete e che sia possibile accedervi dal nuovo hardware.
Aggiungere il server del livello applicazione al nuovo dominio
In ciascun server aprire la finestra delle proprietà del computer.
Modificare le impostazioni del computer nel dominio o gruppo di lavoro a cui si desidera aggiungere il server.
Se viene richiesto di fornire il nome utente e la password di un account che dispone delle autorizzazioni per aggiungere questo computer al dominio, fornire le credenziali appropriate.
Riavviare il computer per rendere effettive le modifiche apportate al dominio.
Nota
Dopo aver riavviato il computer è possibile che venga visualizzato un avviso in cui si informa che non è stato possibile avviare determinati servizi o driver. Continuare con la procedura descritta di seguito.
Spostare gli account utente e gli account del servizio
Come accennato all'inizio di questo argomento, lo spostamento degli account è l'operazione nella quale è più probabile incontrare delle difficoltà, in particolare se la migrazione degli utenti non è stata pianificata con cura. Il comando TFSConfig Identities non può eseguire la migrazione di alcun account a un account già esistente in Azure DevOps Server.
Se in entrambi i domini sono presenti degli account con lo stesso nome e l'unica differenza tra loro è il nome del dominio, è possibile utilizzare la modalità batch di TFSConfig Identities per modificare tutte le identità contemporaneamente. In caso contrario, è necessario modificare le identità singolarmente e specificare un nome account di destinazione diverso, come descritto dettagliatamente più avanti.
Nel server a livello di applicazione per Azure DevOps aprire una finestra del prompt dei comandi con autorizzazioni amministrative, passare a %ProgramFiles%\Microsoft Visual Studio 12.0 Team Foundation Server\Tools ed eseguire il comando seguente per modificare gli ID del servizio (SID) per l'account del servizio nel nuovo dominio:
TFSConfig identities /change /fromdomain:OldComputerorDomainName /todomain:NewDomainName /account:OldTFSServiceAccount /toaccount:NewTFSServiceAccount
Avviso
Se l'account del servizio è un account di sistema come Servizio di rete, non è possibile eseguirne la migrazione direttamente perché nel nuovo ambiente esiste già un account di sistema con lo stesso nome. La modifica dovrà quindi essere eseguita in due fasi. Vedere l'esempio in Comando identità.
Per eseguire la migrazione di tutti gli account che hanno lo stesso nome nel nuovo ambiente, digitare il comando seguente:
TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName
Gli account verranno elaborati in batch.
se il nuovo dominio contiene una o più identità in cui il nome cambia tra gli ambienti, sarà necessario aggiornare manualmente i SID per ognuna di queste identità. Ad esempio, se l'account utente di Christie Church era Fabrikam\CChurch nell'ambiente precedente, ma è NewFabrikam\ChristieC nel nuovo ambiente, sarà necessario aggiornare il SID manualmente. Per ogni account con questo requisito digitare il comando seguente:
TFSConfig Identities /change /fromdomain:OldDomainName /todomain:NewDomainName /account:OldAccountName /toaccount:NewAccountName
Eseguire ora il comando seguente per aggiornare l'account del servizio:
TFSConfig Accounts /change /AccountType:ApplicationTier /account:AccountName /password:Password
Se nella distribuzione è utilizzata la creazione rapporti, eseguire il comando seguente per aggiornare l'account di origine dati utilizzato per la creazione di rapporti:
TFSConfig Accounts /change /AccountType:ReportingDataSource /account:AccountName /password:Password
Se la distribuzione usa il server proxy di Azure DevOps, eseguire il comando seguente per aggiornare l'account del servizio usato per il proxy:
TFSConfig Accounts /change /AccountType:Proxy /account:AccountName /password:Password
Nota
Se si passa a un dominio non attendibile, potrebbe anche essere necessario aggiungere manualmente utenti e gruppi a team, progetti, raccolte e Azure DevOps Server stessa. Per altre informazioni, vedere Aggiungere utenti ai progetti, Impostare le autorizzazioni di amministratore per le raccolte di progetti e Impostare le autorizzazioni di amministratore per Azure DevOps Server.
Se la distribuzione viene integrata con Project Server, potrebbe essere necessario eseguire passaggi aggiuntivi per configurare gli account del servizio con le autorizzazioni richieste per l'operazione. Per altre informazioni, vedere Assegnare autorizzazioni per supportare l'integrazione di TFS-Project Server e ConfigureTFS-Project Server integration.
Configurare Reporting Services e Analysis Services
È possibile ignorare questa procedura se non si utilizzano i rapporti come parte integrante della distribuzione.
Se un server di report è stato rinominato come parte di questo tipo di spostamento, è necessario reindirizzare Azure DevOps Server al server di report nella nuova posizione. È anche necessario riavviare il warehouse e ricompilare manualmente il database di Analysis Services.
Aprire la console di amministrazione per Azure DevOps, passare al nodo Report e modificare le impostazioni.
Modificare i valori di tutte e tre le schede in modo che includano il nuovo nome del server. Assicurarsi di inserire le informazioni corrette per l'account delle origini dati nel nuovo ambiente.
Scegliere Avvia processi per riavviare la creazione di report.
Scegliere Avvia ricompilazione per ricompilare il magazzino.
Configurare i backup
Se il nome della condivisione di rete o il dispositivo di archiviazione è cambiato con la modifica del nome di dominio, sarà necessario aggiornare il piano di backup pianificati in modo che punti a tali risorse rinominate.
- Nella console di amministrazione passare al nodo Backup pianificati e riconfigurare i backup pianificati per eseguire il backup dei database Azure DevOps Server nel nuovo server. Per altre informazioni, vedere Create una pianificazione e un piano di backup.
Riavviare i servizi
Dopo aver aggiornato Azure DevOps Server con tutte le informazioni per il nuovo ambiente, riavviare i servizi.
Nel computer Azure DevOps Server livello applicazione aprire una finestra del prompt dei comandi con autorizzazioni amministrative e modificare le directory in Unità:\%programfiles%\TFS 12.0\Tools.
Digitare il comando TFSServiceControl seguente:
TFSServiceControl unquiesce
Domande e risposte
D: Si desidera modificare uno o più server fisici per la distribuzione, ma non i domini. È possibile procedere in questo modo?
R: Sì. Si tratta di uno spostamento basato su hardware e i passaggi vengono forniti in Spostare o clonare da un hardware a un altro. Non tentare di effettuare uno spostamento basato sull'ambiente insieme uno basato sull'hardware. Completare innanzitutto lo spostamento dell'hardware e successivamente cambiare l'ambiente.