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 di Azure DevOps Server software. Si sposta 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 una maggiore capacità 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 Azure DevOps Server distribuzione. Si esegue un clone quando si intende continuare a usare l'istanza di Azure DevOps Server originale.

Importante

In alcune situazioni è possibile modificare il dominio di una distribuzione Azure DevOps Server e il relativo hardware. La modifica del dominio è uno spostamento basato sull'ambiente ed è necessario evitare di effettuare questi due tipi di spostamento contemporaneamente. Completare innanzitutto lo spostamento dell'hardware e successivamente cambiare 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 disporre delle autorizzazioni equivalenti) per Azure DevOps Server e tutto il software in base al quale la distribuzione dipende da: SQL Server, creazione di report e qualsiasi altro software con cui la distribuzione interoperati, ad esempio Project Server.

Assicurarsi di essere un membro 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 le autorizzazioni ora.

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

    È possibile chiudere la finestra mentre il processo viene portato a termine

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

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

Installare e configurare SQL Server nel nuovo server di livello dati

  • Installare SQL Server nel nuovo server e assicurarsi che sia operativo. Se la distribuzione precedente utilizzava la creazione rapporti, assicurarsi di includere i componenti Reporting Services e Analysis Services. È necessario installare la stessa versione e la stessa edizione usate in precedenza, inclusi i Service Pack e i livelli degli aggiornamento cumulativi.

    Installazione di 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 richiederanno 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 la funzionalità di creazione rapporti, 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 Azure DevOps Server.

    I database esistenti devono essere scollegati prima del ripristino

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. Questi prodotti software includono i seguenti componenti:

  • 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 Azure DevOps Server

Per ripristinare i database 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 i database Azure DevOps Server manualmente usando strumenti di ripristino SQL Server, è possibile, ma è una procedura più difficile. Inoltre, i database nella nuova distribuzione dovranno essere riattivati manualmente. La procedura guidata di ripristino in Azure DevOps Server esegue automaticamente questa operazione durante il processo di ripristino, ma tale funzionalità non fa parte degli strumenti di ripristino di SQL Server.

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

  2. Al termine dell'installazione, verrà aperto Il Centro configurazione di Team Foundation Server . Chiuderlo.

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

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

    Avviare il Ripristino guidato

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

    Scegliere il percorso di rete e il ripristino

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

    I database vengono ripristinati nel nuovo server

(Opzione di clonazione) Riconfigurare gli ID del server e mappare di nuovo i database

Nota

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

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

  1. Aprire una finestra del prompt dei comandi come amministratore e modificare le directory in Drive:%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 Azure DevOps Server clonato ai relativi database.

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

Configurare il server a livello di applicazione

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

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

    Selezionare l'impostazione per il backup di database e SQL Server

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

    Annotare i problemi e il percorso del file di log

Aggiornare gli URL Azure DevOps Server

  1. Passare al nodo livello applicazione e esaminare le notifiche e gli URL del portale Web. Notare che puntano ancora alla posizione della distribuzione precedente. Aggiornarli.

    Gli URL di notifica e accesso Web non sono aggiornati

  2. Una volta aggiornati gli URL con il nome del nuovo server, rivedere le informazioni per assicurarsi che siano corrette.

    L'URL del server ancora utilizza 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 assicurare che l'identità e il formato degli account siano adatti al nuovo server.

  1. Aprire una finestra del prompt dei comandi come amministratore e modificare le directory in Drive:\%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 seguente comando per aggiungere l'account delle origini dati:

    Account TfsConfig /add /AccountType:ReportingDataSource /account:AccountName/SQLInstance:ServerName/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 Azure DevOps Server spostata.

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

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

    Arrestare il servizio e apportare le modifiche

Configurare Reporting Services e Analysis Services

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

  1. Passare al nodo Creazione rapporti. I valori del server di rapporti elencati non sono quelli nuovi, pertanto devono essere modificati.

    I report ancora puntano al vecchio server

  2. Modificare i valori di tutte e tre le schede per puntare al nuovo server. Assicurarsi di immettere le informazioni corrette per l'account delle origini dati nella nuova distribuzione.

    Assicurarsi che le informazioni siano corrette in tutte e tre 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 essere passati al nuovo hardware, assicurarsi che tutti gli utenti, gruppi e account del servizio per la distribuzione siano configurati con le autorizzazioni necessarie per il funzionamento corretto in ogni server. Alcune autorizzazioni, ad esempio le 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 verificare che utenti, gruppi e account del servizio siano configurati con le autorizzazioni necessarie per il funzionamento. Effettuare manualmente un controllo saltuario dell'appartenenza dei gruppi di progetto e dei 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 ai propri 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à necessario aggiornare anche la cache del controllo della versione come documentato in Aggiornare le cache dei dati nei computer client.

Informare gli utenti

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

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

  • Nuovi nomi del database per la creazione dei rapporti, se la funzionalità di creazione rapporti 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

I backup pianificati per la distribuzione precedente non sono stati modificati per eseguire il backup della distribuzione spostata. Sarà quindi necessario configurarli.

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

Domande e risposte

D: Si desidera modificare i domini, ma non i server fisici. È possibile procedere in questo modo?

R: Sì. Questa operazione è denominata spostamento basato sull'ambiente e i passaggi sono disponibili qui. 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.

D: Ho appena capito che voglio continuare a usare il mio vecchio Azure DevOps Server dopo il passaggio a nuovo hardware. È possibile procedere in questo modo?

Un: Sì, ma è molto importante eseguire immediatamente passaggi aggiuntivi. In teoria, questi passaggi dovrebbero già essere stati eseguiti come parte dello spostamento o della clonazione. Questa è la soluzione migliore per evitare il rischio di danneggiare 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 possiede una distribuzione che si integra con Project Server. Devo eseguire altri passaggi per farlo funzionare con il mio Azure DevOps Server spostato?

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