Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Servizi di Azure DevOps
Prima di usare ELM, verificare che i requisiti seguenti siano soddisfatti nei servizi di Azure DevOps e GitHub Enterprise Cloud con residenza dei dati.
Requisiti del repository di origine e di destinazione
- La migrazione deve provenire da Azure DevOps Services (
dev.azure.com). Azure DevOps Server non è supportato. - Una destinazione GitHub Enterprise Cloud con l'azienda di residenza dei dati (
<enterprise>.ghe.com) deve già esistere. - Il nome del repository GitHub di destinazione non deve essere in uso.
Per ottenere il GUID del repository Azure DevOps, scegliere una delle schede seguenti:
az repos show --repository <repo-name> --query id -o tsv
Il comando restituisce il GUID del repository. Salvarlo per usarlo all'avvio della migrazione.
Requisiti di accesso
Servizi di Azure DevOps
| Requisito | dettagli |
|---|---|
| Autorizzazione Enterprise Live Migrations | È necessario disporre dell'autorizzazione Enterprise Live Migrations: Manage Migrations impostata su Consenti a livello di repository. Per verificare, passare a Project Impostazioni>Repositories>Security e verificare che l'account utente o il gruppo disponga di questa autorizzazione. In caso contrario, contatta l'amministratore della raccolta di progetti (PCA) o l'amministratore del progetto (PA) per richiedere l'accesso. Per altre informazioni, vedere Impostare le autorizzazioni del repository Git. |
| Disponibilità dell'agente Linux ospitato autonomamente | Se non è disponibile alcun agente Linux ospitato autonomamente, un PCA o chi dispone delle autorizzazioni per amministrare la coda degli agenti deve crearne e registrarne uno. |
| Autorizzazione di creazione della connessione al servizio | Un utente con le autorizzazioni appropriate deve creare la connessione al servizio per il riwiring della pipeline. |
Installare l'app Azure DevOps ELM da GitHub Marketplace
Come amministratore dell'organizzazione GitHub, installare l'app ELM Azure DevOps sia per l'organizzazione aziendale che per l'organizzazione di destinazione.
Passare a
https://<enterprise>.ghe.com/apps/external-app/azure-devops-elm.Selezionare l'azienda di destinazione.
Seleziona Installa.
Tornare a
https://<enterprise>.ghe.com/apps/external-app/azure-devops-elme quindi selezionare l'organizzazione di destinazione.
Selezionare Tutti i repository>Installa.
Strumenti necessari
I passaggi descritti in questa sezione usano la riga di comando. Installare il interfaccia della riga di comando di Azure e l'estensione dell'interfaccia della riga di comando di Azure DevOps nel computer usato per eseguire i comandi di migrazione.
Installare il interfaccia della riga di comando di Azure. Per altre informazioni, vedere Come installare il interfaccia della riga di comando di Azure.
Ad esempio, aprire Visual Studio Code ed eseguire:
winget install -e --id Microsoft.AzureCLIInstallare l'estensione dell'interfaccia della riga di comando Azure DevOps. Per altre informazioni, vedere Introduzione all'interfaccia della riga di comando di Azure DevOps:
az extension add -n azure-devopsI comandi
az devops migrationssono inclusi nell'estensione standardazure-devops. Non è disponibile un'estensione ELM separata da installare.Verificare l'estensione caricata:
az devops migrations --helpPer aggiornare un'installazione esistente:
az extension update -n azure-devops(Scelta consigliata) Impostare l'organizzazione Azure DevOps come predefinita, in modo che ogni comando
migrationssia destinato all'host corretto:az devops configure --defaults organization=https://dev.azure.com/<org>Se si ignora questo passaggio e si eseguono comandi da una cartella in cui il remote
gitpunta a un'organizzazione diversa, il rilevamento automatico della CLI seleziona invece quel remote anziché il valore di--org. Per disattivarlo per un singolo comando, aggiungi--detect false.
Configurare un agente Linux ospitato autonomamente
Usare il portale di Azure DevOps per selezionare o creare un pool di agenti e quindi eseguire gli script di installazione dell'agente in un computer Linux.
In Impostazioni progetto, vai a Pool di agenti in Pipeline, scegli il pool che vuoi usare per la migrazione e salva il nome del pool.
Se non si dispone di un pool, creare un agente Linux ospitato autonomamente. Per altre informazioni, vedere Deploy an Azure Pipelines agent on Linux. Versione breve:
- Verificare di avere l'autorizzazione per registrare un agente. Se sei un PCA, hai già questo accesso.
- Nelle impostazioni dell'organizzazione di Azure DevOps, vai a Pipelines>Pool di agenti.
- Selezionare il pool Default o quello ospitato autonomamente.
- Aprire la scheda Agenti e selezionare Nuovo agente.
- Nella finestra di dialogo Ottieni l'agente selezionare Linux e scaricare l'agente.
- Sul computer Linux, decomprimete l'agente nella directory desiderata e passate quindi a tale directory.
- Eseguire
./config.she quindi./run.sh.
Importante
È necessario usare un agente basato su Linux. gli agenti basati su Windows e macOS non sono supportati.
Attivare il controllo
ELM registra gli eventi del ciclo di vita della migrazione nel log di controllo di Azure DevOps, tra cui avvio, sospensione, ripresa, passaggio pianificato e abbandono. Gli amministratori possono visualizzare questi eventi in Controllo delle impostazioni>dell'organizzazione.
Configurazione facoltativa per scenari ibridi
Usare questa sezione se si prevede di continuare a usare Azure DevOps con GitHub dopo la migrazione.
Installare Azure Boards su GitHub
Se si prevede di continuare a usare Azure Boards dopo la migrazione, un amministratore aziendale di GitHub deve installare l'app Azure Boards nell'organizzazione GitHub prima dell'avvio della migrazione. Questa app consente a ELM di creare la connessione a Boards in modo che i team possano collegare i commit di GitHub e le pull request agli elementi di lavoro di Azure DevOps.
Per verificare l'installazione, passare a https://<enterpriseUrl>/organizations/<orgName>/settings/installations e verificare che Azure Boards sia elencato. Se Azure Boards non è elencato, chiedere a un amministratore dell'organizzazione di GitHub di installare l'app Azure Boards nel catalogo delle app aziendali.
Crea una connessione di servizio per la riconfigurazione della pipeline
Se si prevede di usare Azure DevOps e GitHub in una configurazione ibrida e connettere il repository GitHub a Azure Pipelines, completare questi passaggi prima di avviare la migrazione.
- Verificare che l'app Azure Pipelines sia installata nell'organizzazione GitHub all'indirizzo
https://<enterpriseUrl>/organizations/<orgName>/settings/installations. - Se Azure Pipelines non è elencato, chiedere a un amministratore dell'organizzazione di GitHub di installare l'app:
https://<enterprise>.ghe.com/apps/external-app/azure-pipelines. Selezionare Configura e assicurarsi che l'accesso al repository sia impostato su Tutti i repository. - In Azure DevOps, in Impostazioni Project selezionare Connessioni al servizio.
- Selezionare Nuova connessione al servizio e scegliere GitHub Enterprise Cloud con residenza dei dati.
- Aggiungere l'URL GitHub e il nome dell'organizzazione e quindi selezionare Autorizza.
- Aggiungere un nome di connessione al servizio e quindi selezionare Salva.
- Aprire la connessione al servizio creata e copiare l'ID. Questo ID è necessario per la riconfigurazione della pipeline.
Valori da raccogliere per la migrazione basata su CLI
Usare questo elenco di controllo se si prevede di avviare e gestire la migrazione usando i comandi dell'interfaccia della riga di comando di Azure DevOps anziché l'interfaccia utente Azure DevOps.
| Campo | Example | Il tuo valore |
|---|---|---|
| URL dell'organizzazione Azure DevOps | https://dev.azure.com/<org> |
|
| Azure DevOps nome del progetto | MyProject |
|
| Nome del repository di Azure DevOps | my-repo |
|
| GUID del repository di Azure DevOps | xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |
|
| URL dell'organizzazione di GitHub di destinazione | https://<enterprise>.ghe.com/<org> |
|
| Nome del repository di destinazione | MyProject-MyRepo |
|
| ID della connessione della pipeline | 9f6aa94e-xxxx-xxxx-xxxx-xxxx |
|
| Nome del pool di agenti Linux ospitati autonomamente | <agent pool name> |