Ci sono sempre più organizzazioni aziendali che utilizzano GitHub per gestire i propri progetti e repository, anche trainati dall'aumento dell'adozione del cloud e di Copilot per la parte AI. Tuttavia, la migrazione verso GitHub non è sempre semplice e la complessità dipende anche da un semplice fattore numerico: più sono i repository da migrare, più tempo ci vorrà. Per facilitare e velocizzare questo processo, GitHub fornisce un helper chiamato "GitHub Enterprise Importer", che automatizza molte delle operazioni necessarie per migrare una repository verso GitHub Enterprise Cloud. Vediamo come funziona, cercando di importare un repository da Bitbucket Server a GitHub Enterprise Cloud.
La prima operazione da eseguire riguarda l'installazione del tool della command line chiamato bbs2gh:
gh gh extension install github/gh-bbs2gh
La seconda, e ultima, riguarda proprio l'import:
gh bbs2gh migrate-repo \ --bbs-server-url <server-url> \ --bbs-project <project-name> \ --bbs-repo <repository-name> \ --github-org <github-org-name> \ --github-repo <github-repository-name> \ --use-github-storage \ # se l'istanza gira su Linux: --ssh-user <user> --ssh-private-key <key> # se l'istanza gira su Windows: --smb-user <user>
Sono sufficienti queste poche impostazioni per avviare tutto il processo. L'uso della flag use-github-storage, tra l'altro, è una aggiunta molto recente e ha semplificato moltissimo il processo: fino a pochissimi giorni fa, la creazione di uno Storage Account (blob storage) in Azure, come storage temporaneo per la migrazione, era obbligatorio. Infatti, spesso le istanze di Bitbucket si trovano on-premise e protette da firewall che non comunicano con il cloud, pertanto lo storage è necessario perché viene aperta una connessione tra l'ambiente on-prem e l'ambiente cloud. Sebbene prima questo passaggio era manuale, oggi viene eseguito completamente in automatico.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Impostare automaticamente l'altezza del font tramite CSS
Ridurre il reflow cambiando il CSS
Eseguire query in contemporanea con EF
Introduzione a GitHub Copilot CLI
Gestione ciclo di vita in .NET Aspire
Analizzare il contenuto di una issue con GitHub Models e AI
Fornire parametri ad un Web component HTML
Escludere alcuni file da GitHub Copilot
Eseguire i pre-commit hook di git con dependabot
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Utilizzare i command service nei test con .NET Aspire
Raggruppamento degli aggiornamenti di dipendenze tra directory in un monorepo con Dependabot




