Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure DevOps Services
Important
Openbare projecten in Azure DevOps worden buiten gebruik gesteld. Vanaf 2027 worden bestaande openbare projecten omgezet in privéprojecten. Raadpleeg Openbare projecten beëindiging en Migreren van een openbaar project naar GitHub voor meer informatie.
In dit artikel wordt beschreven hoe u elk servicegebied migreert van een Azure DevOps openbaar project naar het bijbehorende GitHub equivalent. Hierin worden opslagplaatsen, pijplijnen, wiki's, artefacten en werkitems behandeld.
Prerequisites
| Vereiste | Details |
|---|---|
| Azure DevOps-toegang | Lid van het project met ten minste basistoegang |
| GitHub account | Een GitHub-account met toestemming om opslagplaatsen te maken |
| Git | Git lokaal geïnstalleerd |
| GitHub CLI (optioneel) | GitHub CLI voor gestroomlijnde bewerkingen |
Opslagplaatsen migreren
GitHub opslagplaatsen ondersteunen open samenwerking met pull-aanvragen, forks en sterren.
GitHub Enterprise Importer gebruiken
GitHub Enterprise Importer is het aanbevolen hulpprogramma voor het migreren van opslagplaatsen van Azure DevOps Cloud naar GitHub Enterprise Cloud. Git-bron (inclusief doorvoergeschiedenis), pull-aanvragen, gebruikersgeschiedenis, koppelingen naar werkitems voor pull-aanvragen, bijlagen en vertakkingsbeleid worden gemigreerd.
Installeer de GitHub CLI-migratieextensie:
gh extension install github/gh-geiVerifiëren met zowel Azure DevOps als GitHub:
# Sign in to Azure DevOps with Microsoft Entra ID and set the token az login export ADO_PAT=$(az account get-access-token --resource 499b84ac-1321-427f-aa17-267ca6975798 --query accessToken -o tsv) # Authenticate with GitHub gh auth loginEen migratiescript genereren voor een Azure DevOps organisatie:
gh gei generate-script --ado-org {organization} --github-org {github-org} --output migrate.shOf migreer één opslagplaats:
gh gei migrate-repo --ado-org {organization} --ado-team-project {project} \ --ado-repo {repo} --github-org {github-org} --github-repo {new-repo}
Zie Onderstand-migraties van Azure DevOps naar GitHub voor meer informatie.
GitHub Importer gebruiken
Gebruik de ingebouwde GitHub Importer voor een eenvoudigere browseroptie:
- Meld u aan bij GitHub en selecteer Nieuwe opslagplaats.
- Voer de naam van een opslagplaats in en stel zichtbaarheid in op Openbaar.
- Selecteer Importeer een opslagplaats bovenaan de pagina.
- Voer de kloon-URL van uw Azure DevOps in:
https://dev.azure.com/{organization}/{project}/_git/{repo}. - Voer desgevraagd uw Azure DevOps referenties in. Meld u aan met behulp van Microsoft Entra ID. Als u een persoonlijk toegangstoken wilt gebruiken, maak een met de scope Code Read>. Zie Persoonlijke toegangstokens gebruiken voor meer informatie.
- Selecteer Importeren starten.
GitHub Importer migreert git-bron- en doorvoergeschiedenis, maar migreert geen pull-aanvragen, werkitemkoppelingen of vertakkingsbeleid. Zie Importeren van een opslagplaats met GitHub Importer voor meer informatie.
Importeren vanaf de opdrachtregel
Als GitHub Enterprise Importer niet aan uw behoeften voldoet, pusht u rechtstreeks vanuit een lokale kloon:
# Clone the Azure DevOps repository with full history
git clone --bare https://dev.azure.com/{organization}/{project}/_git/{repo}
cd {repo}.git
# Push to the new GitHub repository
git push --mirror https://github.com/{owner}/{new-repo}.git
Important
Controleer uw Git-geschiedenis op referenties, API-sleutels of gevoelige gegevens voordat u naar een openbare GitHub-opslagplaats pusht. Gebruik hulpprogramma's zoals git-filter-opslagplaats om gevoelige inhoud uit de geschiedenis te verwijderen.
Pijplijnen migreren
GitHub Actions biedt flexibele werkstromen en gratis runnerminuten voor openbare opslagplaatsen.
GitHub Actions Importer gebruiken
GitHub Actions Importer automatiseert de conversie van Azure DevOps pijplijnen naar GitHub Actions werkstromen.
Installeer de GitHub Actions Importer CLI-extensie:
gh extension install github/gh-actions-importerVoer een controle uit om pijplijnen te identificeren die moeten worden gemigreerd:
gh actions-importer audit azure-devops \ --output-dir audit-resultsEen specifieke pijplijn converteren:
gh actions-importer migrate azure-devops pipeline \ --target-url https://github.com/{owner}/{repo} \ --pipeline-id {pipeline-id} \ --output-dir migration-results
Zie Migrate van Azure DevOps naar GitHub Actions met GitHub Actions Importer voor meer informatie.
Belangrijke verschillen tussen Azure-pipelines en GitHub Actions
| Azure-pipelines | GitHub Actions (GitHub-acties) |
|---|---|
azure-pipelines.yml |
.github/workflows/*.yml |
| Fasen, banen, stappen | Taken, stappen (herbruikbare werkstromen voor fasen) |
| Serviceverbindingen | GitHub geheimen en OIDC |
| Agentpools | Runner labels (ubuntu-latest, windows-latest) |
Taakverwijzingen (task@version) |
Actieverwijzingen (owner/action@version) |
Wiki-inhoud migreren
Gebruik GitHub Wiki of GitHub Pages om gidsen en handleidingen te publiceren.
Migreren naar GitHub Wiki
Azure DevOps wiki's zijn Git-opslagplaatsen. Kloon en push ze rechtstreeks:
# Clone the Azure DevOps wiki repository
git clone https://dev.azure.com/{organization}/{project}/_git/{project}.wiki
cd {project}.wiki
# Add the GitHub wiki as a remote
git remote add github https://github.com/{owner}/{repo}.wiki.git
# Push to GitHub wiki
git push github main
Opmerking
Voordat u pusht, maakt u ten minste één wikipagina in uw GitHub opslagplaats om de wikiopslagplaats te initialiseren. Selecteer het tabblad Wiki in uw GitHub opslagplaats en maak een pagina.
Migreren naar GitHub pagina's
Voor documentatie-intensieve projecten biedt GitHub Pages een volledige statische site die rechtstreeks vanuit uw opslagplaats wordt gehost. U kunt statische sitegeneratoren zoals Jekyll of MkDocs gebruiken om uw wiki-inhoud te converteren naar een gepubliceerde site.
Migreren van artefacten
GitHub-pakketten ondersteunen het publiceren en gebruiken van NuGet-, NPM- en Maven-pakketten.
Pakketten verplaatsen naar GitHub-pakketten
- Download bestaande pakketten uit uw Azure-artefacten feed.
- Configureer de pakketbron opnieuw zodat deze verwijst naar GitHub Pakketten.
- Publiceer pakketten naar de nieuwe feed.
Als u bijvoorbeeld een NPM-pakket wilt migreren:
# Set the GitHub Packages registry
npm config set @{owner}:registry https://npm.pkg.github.com
# Authenticate
npm login --registry=https://npm.pkg.github.com
# Publish
npm publish
Alternatieve registers
Voor pakketten die een brede openbare zichtbaarheid nodig hebben, moet u openbare registers overwegen:
| Pakkettype | Openbaar register |
|---|---|
| NuGet | nuget.org |
| npm | npmjs.com |
| Maven | Maven Central |
| Python | PyPI |
| Vracht | crates.io |
Werkitems migreren
GitHub problemen en projecten bieden moderne hulpprogramma's voor het beheren van bugs en functieaanvragen.
Er is geen ingebouwd hulpprogramma voor de migratie van werkitems van Azure Boards naar GitHub Issues. Er zijn verschillende communityopties beschikbaar:
- Azure DevOps naar GitHub Issues migrator — open-source tools op GitHub die werkitems converteren naar issues, waarbij titels, beschrijvingen en labels worden behouden.
- CSV exporteren/importeren — werkitems exporteren uit Azure Boards als CSV en vervolgens de GitHub CLI of API gebruiken om problemen te maken.
- REST API-scripting: gebruik de Azure DevOps REST API en GitHub Issues REST API om een aangepast migratiescript te maken.
Werkitems exporteren met de Azure DevOps CLI
# Export work items from a query
az boards query --wiql "SELECT [System.Id], [System.Title], [System.State] FROM workitems WHERE [System.TeamProject] = '{project}'" --organization https://dev.azure.com/{organization} --output table
Tip
Prioriteit geven aan het migreren van actieve en recente werkitems. Gesloten of historische items hebben mogelijk geen migratie nodig. U kunt ze toegankelijk houden in het privéproject ter referentie.
Dashboards vervangen
GitHub heeft niet één dashboardfunctie die gelijk is aan Azure DevOps dashboards. In plaats daarvan wordt vergelijkbare functionaliteit verspreid over verschillende systeemeigen functies.
| Azure DevOps dashboard gebruiken | GitHub-tegenhanger |
|---|---|
| Werktracering en burndowngrafiek | GitHub Projects met ingebouwde Insights-grafieken |
| Activiteit van opslagplaats | Opslagplaatsinzichten (doorvoeringen, PULL's, verkeer, inzenders) |
| Build en CI-status | GitHub Actions uitvoeringsgeschiedenis en statusbadges voor werkstromen |
| Openbare transparantie | Problemen, pull-aanvragen, releases en README-badges |
Voor dashboards op organisatieniveau waarmee gegevens in meerdere opslagplaatsen worden samengevoegd, verkent u integraties op de GitHub Marketplace.
Controlelijst na migratie
Controleer na het migreren van uw inhoud de volgende items:
- [ ] Alle Git-opslagplaatsen zijn beschikbaar op GitHub met volledige geschiedenis.
- [ ] CI/CD-werkstromen worden uitgevoerd in GitHub Actions.
- [ ] Wiki-inhoud wordt correct weergegeven in GitHub Wiki of GitHub Pagina's.
- [ ] Pakketten publiceren en restoren vanuit het nieuwe register.
- [ ] Actieve werkitems worden bijgehouden in GitHub Issues.
- [ ] Externe koppelingen en badges verwijzen naar de nieuwe GitHub locaties.
- [] Medewerkers en communityleden worden op de hoogte gesteld van de nieuwe locatie.
- [] README in het Azure DevOps project leidt bezoekers naar de nieuwe GitHub locatie.