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.
Annotazioni
L'installazione dei prerequisiti usa sia il portale Azure DevOps che l'interfaccia utente GitHub (per attività monouso, ad esempio la creazione di una connessione al servizio, la registrazione di un agente e la creazione di un pat) e la riga di comando (per l'installazione degli strumenti). Ogni sezione viene etichettata in modo da sapere dove lavorare.
Requisiti del repository di origine e di destinazione
- La migrazione deve provenire da Azure DevOps Services (
dev.azure.com). Azure DevOps Server non è supportato. - Un'organizzazione GitHub Enterprise Cloud di destinazione con residenza dei dati 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 che usa il GitHub PAT. |
GitHub Enterprise Cloud con residenza dei dati
- Un amministratore GitHub Enterprise deve creare il token di accesso personale e poter creare una connessione al servizio in Azure DevOps. L'amministratore condivide quindi l'ID connessione del servizio con la persona che esegue la migrazione.
Configurazione dell'autenticazione
Creare due PT in GitHub:
- Un PAT per la connessione al servizio.
- Un PAT personale per l'operatore di migrazione.
Creare la connessione del servizio pat e la connessione al servizio
In GitHub passare a Impostazioni>Impostazioni di sviluppo e selezionare Token di accesso personali.
Come amministratore di GitHub Enterprise, creare un token di accesso personale classico con le autorizzazioni seguenti:
-
repo(tutti) workflowread:orgread:user-
admin:enterprise(tutti)
-
Copiare il pat e archiviarlo in modo sicuro.
Selezionare Configura SSO per concedere l'accesso pat all'organizzazione di destinazione.
Accedi alla tua organizzazione di Azure DevOps.
Vai a Impostazioni progetto>Pipelines>Connessioni di servizio.
Selezionare Nuova connessione al servizio, scegliere GitHub Enterprise Server e quindi selezionare Next.
Per Metodo di autenticazione selezionare Token di accesso personale.
Inserire l'URL di GitHub Enterprise e incollare il GitHub PAT dal passaggio 3.
Verificare e salvare la connessione al servizio.
Aprire la connessione al servizio e copiare l'ID. Questo ID è necessario all'avvio della migrazione.
Crea il PAT di migrazione personale in GitHub (portale di GitHub)
La persona che esegue la migrazione crea il token di accesso personale e lo usa per eseguire l'autenticazione per GitHub.
In GitHub passare a Impostazioni>Impostazioni di sviluppo e selezionare Token di accesso personali.
Creare un token di accesso personale classico con gli ambiti seguenti:
-
repo(completo) workflowadmin:orguser:email
-
Copiare il pat e archiviarlo in modo sicuro.
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/myorg |
|
| 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://contoso.ghe.com/MyOrg |
|
| Nome del repository di destinazione | MyProject-MyRepo |
|
| ID di connessione del servizio | cd32d354-xxxx-xxxx-xxxx-xxxx |
|
| ID della connessione della pipeline | 9f6aa94e-xxxx-xxxx-xxxx-xxxx |
|
| Nome del pool di agenti Linux ospitati autonomamente | Default |