Azure DevOps to GitHub Migration
An American multinational consumer goods corporation headquartered in Cincinnati , market globally 180+ countries.
Summary: Migration of Azure DevOps (repo and pipelines) into GitHub
Tech Stack: GitHub Actions, Azure DevOps, Azure Cloud, Azure App Services, ACR, Bash Scripting, Docker, SonarQube, Synk, Azure Monitor
Requirements
- Repository Migration from Azure DevOps to GitHub to align with the organization’s strategy roadmap
- Repository files and folder content validation
- Apply Branch Protection Rules in GitHub repo same as in ADO
- Revoking the access for developer in ADO after migration
- Access management for GitHub repositories
- Migration of variables from ADO to GitHub
- Pipeline creation like Centralize as well as repository-specific, as in ADO
- Integration of SonarQube, Synk like tools in GitHub
- Blue-Green deployment strategy and slot swap approvals
Solution
- 2000+ repos migrated using Python and GitHub CLI
- Validate repos files and folders for 2000+ repos using script
- Created the branch protection rules and added
CODEOWNERSfile in 2000+ repositories using script - Revoked the access for 2000+ repos in ADO using script
- Provided access to admins and developers for 2000+ GitHub repositories by adding teams through automation
- Created Environments and migrated Variables Groups from ADO to GitHub environments using automation script
- Centralize workflow and environment-specific GitHub workflows were created for around 500+ applications to build and deploy using script
- Integrated GitHub Advanced Security with GitHub Actions for static code analysis and security scanning—including CodeQL, secret scanning, and dependency review—across all workflows
- Leveraged GitHub Environments for promoting the code into non-prod & prod environments
- Enabled blue-green deployment strategy using deployment slots feature of Azure App Service
Results
- Migrated over 2000+ repos to GitHub within 1 month, including complete history and all branches. The team is now equipped to migrate quickly in the future
- Saved approx. 3000+ hrs using automation
- Zero downtime deployments