Spostare o clonare da un hardware a un altro per Azure DevOps locale

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

È possibile spostare o clonare la distribuzione del software Azure DevOps Server. È possibile spostare Azure DevOps Server da un computer a un altro ripristinandolo in un nuovo hardware (denominato spostamento basato sul ripristino). Ad esempio, è possibile spostare Azure DevOps Server in un server con capacità maggiore o una maggiore velocità di elaborazione. Quando si passa a un nuovo server non si perde alcuna cronologia del progetto.

Per clonare la distribuzione di Azure DevOps Server, eseguire gli stessi passaggi di uno spostamento più altri.

Si esegue uno spostamento quando si prevede di interrompere l'uso dell'hardware originale e della distribuzione di Azure DevOps Server. Si esegue un clone quando si intende continuare a usare l'istanza originale di Azure DevOps Server.

Importante

In alcune situazioni potrebbe essere necessario modificare il dominio di una distribuzione di Azure DevOps Server e il relativo hardware. La modifica del dominio è uno spostamento basato sull'ambiente e non è mai consigliabile combinare i due tipi di spostamento. Completare prima lo spostamento dell'hardware e quindi modificare l'ambiente.

Verificare le autorizzazioni

Per spostare correttamente Azure DevOps Server, è necessario essere un amministratore in entrambi i set di hardware (il vecchio e il nuovo). Inoltre, sarà necessario essere un amministratore (o avere le autorizzazioni equivalenti) 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.

Assicurarsi di essere membri dei gruppi seguenti:

  • 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.

Eseguire il backup di database e chiave di crittografia

  1. Aprire la console di amministrazione per Azure DevOps Server e nella pagina Backup pianificati eseguire un backup completo. Il backup eseguirà il backup di tutti gli elementi configurati per il backup nel piano di backup, ma lo farà immediatamente, non in base all'ora pianificata nel piano. Se la distribuzione usa la creazione di report, è possibile eseguire il backup della chiave di crittografia come parte di questo set di backup.

    È possibile chiudere la finestra al termine del processo

    Se non sono configurati backup, è necessario creare un piano prima di poter eseguire un backup completo.

  2. Al termine del backup, verificare che il backup sia disponibile nel dispositivo di archiviazione o nella condivisione di rete e che sia possibile accedere a questo backup dal nuovo hardware.

Installare e configurare SQL Server nel nuovo server livello dati

  • Installare SQL Server nel nuovo server e assicurarsi che sia operativo. Se nella distribuzione precedente è stata usata la creazione di report, assicurarsi di includere i componenti di Reporting e Analysis Services. È necessario installare la stessa versione e la stessa edizione usata in precedenza, inclusi i livelli di aggiornamento cumulativo e del Service Pack.

    Installare SQL Server 2008 R2 - Funzionalità

    In alternativa, è possibile creare un'istanza di SQL Server in un server che dispone già di una versione corrispondente installata e ripristinare i database di Azure DevOps Server in tale istanza, ma che richiederà una configurazione successiva al ripristino.

    Per altre informazioni sulle opzioni per l'installazione e la configurazione di SQL Server, vedere qui.

    Dopo aver installato SQL Server, se la distribuzione include report, aprire SQL Server Management Studio e scollegare i database ReportServer e ReportServerTempDB. In caso contrario, potrebbe non essere possibile ripristinare questi database con il backup creato per i database del server Azure DevOps.

    Prima del ripristino, è necessario scollegare i database esistenti

Installare e configurare il software nel nuovo server livello applicazione

Per configurare un nuovo server o server per Azure DevOps Server, è prima necessario installare e configurare il software necessario per supportarlo. Questo software include i componenti seguenti:

  • un sistema operativo supportato per la configurazione della distribuzione

  • Installare e configurare Windows, IIS (se non configurato per impostazione predefinita) e assicurarsi che il server e il relativo software siano operativi. 

    Per altre informazioni, vedere i requisiti di sistema per Azure DevOps Server.

Ripristinare i database del server Azure DevOps

Per ripristinare i database di Azure DevOps Server usando lo strumento di ripristino, è necessario installare ma non configurare Azure DevOps Server nel nuovo server livello dati e quindi usare la funzione di ripristino nel nodo Backup pianificati.

Se si desidera ripristinare manualmente i database di Azure DevOps Server usando gli strumenti di ripristino di SQL Server, è possibile, ma questa è una procedura più complessa. Inoltre, sarà necessario rimuovere manualmente l'istanza dei database nella nuova distribuzione. La procedura guidata di ripristino in Azure DevOps Server esegue automaticamente questa operazione come parte del processo di ripristino, ma tale funzionalità non fa parte degli strumenti di ripristino di SQL Server.

  1. Avviare il supporto di installazione di Azure DevOps Server. Nella pagina di installazione di Team Foundation Server scegliere Installa.

  2. Al termine dell'installazione, viene aperto il Team Foundation Server Centro configurazione. Chiudilo.

    La console di amministrazione viene aperta automaticamente in uno stato non configurato. Si tratta di un comportamento previsto.

  3. Per avviare la procedura guidata di ripristino, aprire la console di amministrazione per Azure DevOps Server e aprire Backup pianificati.

    Avviare la procedura guidata di ripristino

  4. Specificare il percorso del set di backup e scegliere il set creato dopo la chiusura della distribuzione precedente.

    Scegliere il percorso di rete, quindi il set di ripristino

  5. Completare la procedura guidata e ripristinare i database nella nuova istanza di SQL Server.

    I database vengono ripristinati nel nuovo server

(Opzione Clona) Riconfigurare gli ID server e rieseguire il mapping dei database

Nota

PreparareClone usato per essere usato prima di iniziare una nuova distribuzione di Azure DevOps Server usando un backup del database già in produzione in un altro server. Questo comando non è più necessario, poiché la funzionalità è stata incorporata negli scenari di aggiornamento e clonazione di pre-produzione nella configurazione guidata.

Eseguire il set di passaggi successivo nel nuovo server livello applicazione se si intende continuare a usare l'istanza originale di Azure DevOps Server. Questi passaggi sono necessari per evitare il rischio di danneggiamento di una o entrambe le distribuzioni. Se entrambi i server sono in tempo reale, è possibile che si verifichi un danneggiamento, in particolare se puntano alle stesse risorse di report.

  1. Aprire una finestra del prompt dei comandi come amministratore e passare a Unità:%programfiles%\TFS 12.0\Tools. Aprire una finestra del prompt dei comandi e immettere:

  2. Eseguire il comando TFSConfig PrepareClone per rimuovere informazioni sui backup pianificati e sulle risorse di creazione di report.

    TFSConfig PrepareClone /SQLInstance:ServerName /DatabaseName:DatabaseName /notificationURL: ApplicationTierURL
    
  3. Eseguire il comando TFSConfig ChangeServerID per modificare i GUID del server associati ai database. I GUID devono essere univoci all'interno della distribuzione di Azure DevOps Server.

    TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
    
  4. Eseguire il comando TFSConfig RemapDBs per reindirizzare il server Azure DevOps clonato ai relativi database.

    TFSConfig RemapDBs /DatabaseName:ServerName;DatabaseName /SQLInstances:ServerName1,erverName2 [/AnalysisInstance:ServerName] [/AnalysisDatabaseName:DatabaseName] [/review] [/continue] [/usesqlalwayson]
    

Configurare il server livello applicazione

  1. Dalla console di amministrazione per Azure DevOps Server scegliere Configura funzionalità installate per avviare il centro configurazione.

  2. Avviare la procedura guidata Solo livello applicazione e in Database specificare la nuova istanza di SQL Server in cui sono stati ripristinati i database di Azure DevOps Server. Scegliere il database Tfs_Configuration dall'elenco.

    Selezionare il set di backup di SQL Server e del database

  3. Prima di chiudere la pagina finale della procedura guidata, cercare il simbolo "i". Indica le informazioni che potrebbero essere necessarie per riferimento futuro. La pagina finale include anche il percorso del log di configurazione.

    Prendere nota di eventuali problemi e del percorso del file di log

Aggiornare gli URL del server Azure DevOps

  1. Passare al nodo livello applicazione e esaminare la notifica e gli URL del portale Web. Si noti che puntano comunque alla posizione della distribuzione precedente. Aggiornarli.

    Le notifiche e gli URL Web non sono aggiornati

  2. Dopo aver aggiornato gli URL con il nome del nuovo server, esaminare le informazioni per assicurarsi che sia corretto.

    L'URL del server usa ancora localhost

Aggiornare tutti gli account del servizio

È necessario aggiornare l'account del servizio per Azure DevOps Server (TFSService) e l'account delle origini dati (TFSReports). Anche se questi account non sono stati modificati, è necessario aggiornare le informazioni per assicurarsi che l'identità e il formato degli account siano appropriati per il nuovo server.

  1. Aprire una finestra del prompt dei comandi come amministratore e passare a Unità:\%programfiles%\TFS 12.0\Tools.

  2. Al prompt dei comandi digitare il comando seguente per aggiungere l'account del servizio per Azure DevOps, dove DatabaseName è il nome del database di configurazione (per impostazione predefinita, TFS_Configuration):

    Account TfsConfig /add /AccountType:ApplicationTier /account: AccountName /SQLInstance: ServerName /DatabaseName: DatabaseName

  3. Al prompt dei comandi digitare il comando seguente per aggiungere l'account delle origini dati:

    Account TfsConfig /add /AccountType:ReportingDataSource /account: AccountName /SQLInstance:NomeServer /DatabaseName:DatabaseName

    Per altre informazioni, vedere Comando Account.

Aggiornare i server di compilazione

A questo punto è necessario reindirizzare i server di compilazione in modo che puntino alla distribuzione di Azure DevOps Server spostata.

  1. In ogni server di compilazione aprire la console di amministrazione e arrestare il servizio di compilazione.

  2. Nelle proprietà per il servizio di compilazione aggiornare le proprietà delle comunicazioni.

    Arrestare il servizio, quindi apportare modifiche

Configurare Reporting e Analysis Services

Se la distribuzione usa un server di report, è necessario reindirizzare Azure DevOps Server alla relativa posizione, riavviare il warehouse e ricompilare manualmente il database per Analysis Services. Se non si usa la creazione di report, ignorare questa procedura.

  1. Passare al nodo Report. I valori del server di report elencati sono quelli precedenti, non quelli nuovi, quindi modificarli.

    I report puntano ancora al server precedente

  2. Modificare i valori in tutte e tre le schede in modo che puntino al nuovo server. Assicurarsi di fornire le informazioni corrette per l'account delle origini dati nella nuova distribuzione.

    Assicurarsi che le informazioni siano corrette in tutte e 3 le schede

  3. Scegliere Avvia processi per riavviare la creazione di report.

  4. Scegliere Avvia ricompilazione per ricompilare il magazzino.

Verificare le autorizzazioni per utenti, gruppi e account del servizio

Dopo il passaggio a un nuovo hardware, assicurarsi che tutti gli utenti, i gruppi e gli account di servizio per la distribuzione siano configurati con le autorizzazioni necessarie per il corretto funzionamento in ogni server. Alcune autorizzazioni, ad esempio autorizzazioni aggiuntive in SQL Server o nel computer locale, non possono essere migrate automaticamente. Ad esempio, gli amministratori di Azure DevOps devono essere membri del gruppo Administrators locale nel server a livello di applicazione per aprire la console di amministrazione, quindi è necessario aggiungerli manualmente a tale gruppo.

  • Accedere al server e assicurarsi che gli utenti, i gruppi e gli account del servizio siano configurati con le autorizzazioni necessarie per l'operazione. Controllare manualmente l'appartenenza a gruppi di progetti e team e verificare che tali gruppi e team dispongano delle autorizzazioni previste.

  • Passare a una raccolta di progetti e assicurarsi che tutti i progetti in tale raccolta vengano visualizzati come previsto e che gli utenti di tali progetti possano accedere in modo appropriato agli elementi di lavoro.

  • Aprire il portale Web e verificare che i siti e i team del team vengano visualizzati come previsto.

Non si è certi di quali gruppi e autorizzazioni aspettarsi? Per altre informazioni, vedere Aggiungere utenti ai progetti, Impostare le autorizzazioni di amministratore per le raccolte di progetti, Impostare le autorizzazioni di amministratore per Azure DevOps Server e account di servizio e dipendenze in Azure DevOps Server.

Aggiornare la cache dei dati nei computer client

  • Accedere al server e usare il servizio Web ClientService per forzare i client ad aggiornare la cache per tenere traccia degli elementi di lavoro e per il controllo della versione di Azure DevOps.

    http://ServerName:8080/tfs/WorkItemTracking/v3.0/ClientService.asmx
    

    Per altre informazioni, vedere Aggiornare le cache dei dati nei computer client.

    Se si vuole aggiornare l'intera cache per tutti gli utenti al successivo accesso, usare il comando witadmin rebuildcache .

    Nota

    Se i database sono stati ripristinati in un momento diverso, sarà anche necessario aggiornare la cache del controllo della versione come documentato in Aggiornare le cache dei dati nei computer client.

Notifica agli utenti

Dopo aver spostato Azure DevOps Server, è necessario indicare agli utenti come connettersi alla distribuzione spostata. In particolare, è necessario fornire le informazioni seguenti:

  • Il nome del nuovo server e l'URL per il portale Web, in modo che possano riconnettersi ai progetti

  • I nuovi nomi di database per la creazione di report, se la creazione di report fa parte della distribuzione

  • Se sono membri di un progetto che usa Git, istruzioni su come aggiornare ogni clone in locale per ogni repository per tale progetto. In particolare, dovranno eseguire il comando seguente per ogni clone:

    git remote set-url <remote name> <new URL>
    

    Gli utenti possono visualizzare l'URL per ogni clone esplorando il progetto dalla scheda Esplora risorse.

    Copia dell'URL per clonare manualmente un repository in

Configurare i backup

Anche se sono stati pianificati i backup per la distribuzione precedente, i backup pianificati non sono stati modificati per eseguire il backup della distribuzione spostata. Sarà necessario configurarli.

  • Nella console di amministrazione passare al nodo Backup pianificati e riconfigurare i backup pianificati per eseguire il backup dei database del server Azure DevOps nel nuovo server. Per altre informazioni, vedere Creare una pianificazione e un piano di backup.

Domande e risposte

D: Voglio modificare i domini, non i server fisici. È possibile?

R: Sì. Si tratta di uno spostamento basato sull'ambiente e i passaggi sono disponibili qui. Non è consigliabile provare a combinare uno spostamento basato sull'ambiente con uno spostamento basato su hardware. Completare prima lo spostamento dell'hardware e quindi modificare l'ambiente.

D: Ho appena capito che voglio continuare a usare il mio vecchio server Azure DevOps dopo il passaggio a un nuovo hardware. È possibile?

R: Sì, ma è molto importante eseguire immediatamente passaggi aggiuntivi. Idealmente, è necessario eseguire questi passaggi come parte dei passaggi di spostamento o clonazione. Questo è il modo migliore per evitare il rischio di danneggiamento di una o entrambe le distribuzioni. Se entrambi i server sono in tempo reale, è possibile che si verifichi un danneggiamento, in particolare se puntano alle stesse risorse di report.

Per risolvere il problema:

  1. Eseguire il comando TFSConfig PrepareClone nel nuovo server

  2. Eseguire il comando TFSConfig ChangeServerID nel nuovo server

  3. Eseguire il comando TFSConfig RemapDBs nel nuovo server

D: Si dispone di una distribuzione che si integra con Project Server. È necessario eseguire altri passaggi per usarlo con il server Azure DevOps spostato?

R: Sì, dopo aver completato lo spostamento hardware, è necessario usare il comando TFSAdmin ProjectServer /RegisterPWA con le opzioni /tfs, /force e /pwa per registrare nuovamente Azure DevOps Server con Project Server. Per altre informazioni sull'integrazione di Azure DevOps Server con Project Server , vedere qui.