Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Serviços de DevOps do Azure
Importante
Projetos públicos no Azure DevOps estão retirados. A partir de 2027, os projetos públicos existentes convertem-se em privados. Para mais informações, consulte Desativação de projetos públicos e Migrar de um projeto público para GitHub.
Este artigo mostra como migrar cada área de serviço de um projeto público do Azure DevOps para o seu equivalente no GitHub. Abrange repositórios, pipelines, wikis, artefactos e itens de trabalho.
Pré-requisitos
| Requisito | Detalhes |
|---|---|
| Acesso ao Azure DevOps | Membro do projeto com pelo menos acesso básico |
| Conta do GitHub | Uma conta GitHub com permissão para criar repositórios |
| Git | Git instalado localmente |
| GitHub CLI (opcional) | GitHub CLI para operações simplificadas |
Migrar repositórios
Os repositórios do GitHub suportam colaboração aberta com pedidos de pull, forks e estrelas.
Use GitHub Enterprise Importer
GitHub Enterprise Importer é a ferramenta recomendada para migrar repositórios do Azure DevOps Cloud para GitHub Enterprise Cloud. Migra o código fonte Git (incluindo histórico de commits), pull requests, histórico de utilizadores, links de itens de trabalho em pull requests, anexos e políticas de branch.
Instale a extensão de migração CLI do GitHub:
gh extension install github/gh-geiAutentique tanto com Azure DevOps como com 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 loginGerar um script de migração para uma organização Azure DevOps:
gh gei generate-script --ado-org {organization} --github-org {github-org} --output migrate.shOu migrar um único repositório:
gh gei migrate-repo --ado-org {organization} --ado-team-project {project} \ --ado-repo {repo} --github-org {github-org} --github-repo {new-repo}
Para mais informações, veja Compreender migrações de Azure DevOps para GitHub.
Use GitHub Importer
Para uma opção mais simples, baseada no navegador, use o importador GitHub incorporado:
- Inicie sessão no GitHub e selecione Novo repositório.
- Introduza o nome do repositório e defina a visibilidade para Público.
- Selecione Importar um repositório no topo da página.
- Introduza o seu URL clone de Azure DevOps:
https://dev.azure.com/{organization}/{project}/_git/{repo}. - Se for solicitado, introduza as suas credenciais Azure DevOps. Inicie sessão usando o Microsoft Entra ID. Se precisares de usar um token de acesso pessoal, cria um com âmbito de leitura de código>. Para obter mais informações, consulte Usar tokens de acesso pessoal.
- Selecione Iniciar importação.
O Importador do GitHub migra o código fonte e o histórico de commits do Git, mas não migra os pull requests, as ligações dos itens de trabalho ou as políticas de ramificação. Para mais informações, veja Importar um repositório com GitHub Importer.
Importar a partir da linha de comandos
Se o GitHub Enterprise Importer não responder às suas necessidades, envie diretamente a partir de um clone local:
# 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
Importante
Revise o seu histórico Git para credenciais, chaves API ou dados sensíveis antes de enviar para um repositório público do GitHub. Usa ferramentas como o git filter-repo para remover conteúdo sensível do histórico.
Migrar fluxos de trabalho
GitHub Actions oferece fluxos de trabalho flexíveis e minutos gratuitos de runner para repositórios públicos.
Utilize o GitHub Actions Importer
O GitHub Actions Importer automatiza a conversão de pipelines Azure DevOps para fluxos de trabalho GitHub Actions.
Instale a extensão CLI GitHub Actions Importer:
gh extension install github/gh-actions-importerExecute uma auditoria para identificar pipelines a migrar:
gh actions-importer audit azure-devops \ --output-dir audit-resultsConverter um pipeline específico:
gh actions-importer migrate azure-devops pipeline \ --target-url https://github.com/{owner}/{repo} \ --pipeline-id {pipeline-id} \ --output-dir migration-results
Para mais informações, consulte Migrar de Azure DevOps para GitHub Actions com GitHub Actions Importer.
Principais diferenças entre Azure Pipelines e GitHub Actions
| Azure Pipelines (Pipelines do Azure) | GitHub Actions |
|---|---|
azure-pipelines.yml |
.github/workflows/*.yml |
| Palcos, trabalhos, passos | Trabalhos, etapas (fluxos de trabalho reutilizáveis para fases) |
| Ligações de serviço | Segredos do GitHub e OIDC |
| Pools de agentes | Rótulos de runner (ubuntu-latest, windows-latest) |
Referências de tarefas (task@version) |
Referências de ação (owner/action@version) |
Migrar conteúdo wiki
Use a Wiki do GitHub ou as páginas do GitHub para publicar guias e manuais.
Migrar para a Wiki do GitHub
As wikis do Azure DevOps são repositórios Git. Clone-os e promove-os diretamente:
# 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
Note
Antes de lançar, cria pelo menos uma página wiki no teu repositório GitHub para inicializar o repositório wiki. Selecione o separador Wiki no seu repositório de GitHub e crie uma página.
Migrar para o GitHub Pages
Para projetos com muita documentação, GitHub Pages fornece um site estático completo alojado diretamente a partir do seu repositório. Podes usar geradores de sites estáticos como o Jekyll ou o MkDocs para converter o teu conteúdo wiki num site publicado.
Artefactos de migração
O GitHub Packages suporta a publicação e consumo de pacotes NuGet, npm e Maven.
Mover pacotes para os pacotes do GitHub
- Descarregue pacotes existentes do seu feed Artefactos do Azure.
- Reconfigure o código-fonte do seu pacote para apontar para os Pacotes do GitHub.
- Publicar pacotes no novo feed.
Por exemplo, para migrar um pacote npm:
# 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
Registos alternativos
Para pacotes que necessitam de ampla visibilidade pública, considere os registos públicos:
| Tipo de embalagem | Registo público |
|---|---|
| NuGet | nuget.org |
| npm | npmjs.com |
| Maven | Maven Central |
| Python | PyPI |
| Carga | crates.io |
Migrar itens de trabalho
O GitHub Issues and Projects fornece ferramentas modernas para gerir bugs e pedidos de funcionalidades.
Não existe uma ferramenta de migração incorporada para trabalhos do Azure Boards para o GitHub Issues. Existem várias opções comunitárias disponíveis:
- Azure DevOps to GitHub Issues migrator — ferramentas open-source em GitHub que convertem itens de trabalho em edições, preservando títulos, descrições e etiquetas.
- Exportação/Importação CSV — exportar itens de trabalho do Azure Boards como CSV, depois usar a CLI ou API do GitHub para criar issues.
- Scripting de API REST — use a API REST do Azure DevOps Work Items e a API REST do GitHub Issues para construir um script de migração personalizado.
Exportar itens de trabalho com a CLI do Azure DevOps
# 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
Dica
Dê prioridade à migração de itens de trabalho ativos e recentes. Itens fechados ou históricos podem não precisar de migração — pode mantê-los acessíveis no projeto privado para referência.
Substituir painéis de controlo
O GitHub não tem uma única funcionalidade de dashboard equivalente aos dashboards do Azure DevOps. Em vez disso, funcionalidades semelhantes estão distribuídas por várias funcionalidades nativas.
| Uso do painel do Azure DevOps | Equivalente ao GitHub |
|---|---|
| Rastreio de trabalho e gráfico de burndown | GitHub Projects com gráficos incorporados de Insights |
| Atividade do repositório | Insights do Repositório (commits, PRs, tráfego, colaboradores) |
| Estado de construção e CI | Histórico de execuções e emblemas de estado de GitHub Actions |
| Transparência pública | Edições, pull requests, releases e emblemas README |
Para dashboards ao nível da organização que agregam dados em múltiplos repositórios, explore integrações no GitHub Marketplace.
Lista de verificação pós-migração
Depois de migrar o seu conteúdo, verifique os seguintes itens:
- [ ] Todos os repositórios Git estão disponíveis no GitHub com o histórico completo.
- [ ] Os fluxos de trabalho CI/CD correm com sucesso no GitHub Actions.
- [ ] O conteúdo da Wiki é renderizado corretamente no GitHub Wiki ou no GitHub Pages.
- [ ] Os pacotes são publicados e restaurados a partir do novo registo.
- [ ] Os itens de trabalho ativos são rastreados nas Questões do GitHub.
- [ ] Links externos e emblemas apontam para as novas localizações do GitHub.
- [ ] Colaboradores e membros da comunidade são informados sobre a nova localização.
- [ ] O README no projeto Azure DevOps direciona os visitantes para a nova localização do GitHub.