A hybrid Gerrit and Azure DevOps CI/CD model that optimizes costs and enhances efficiency for lean startups. Secure your sensitive repositories while minimizing expenses.
Developers use Gerrit for daily collaboration with integrated CI pipeline for unit tests + draft builds.
Azure DevOps (Cloud)
Acts as mirrored system with selective stakeholder access, adding scalability and redundancy - disaster recovery ready!
Handles release pipelines efficiently while keeping costs minimal.
Developer Workflow in Gerrit
Code Submission
Developers submit changesets via Gerrit for review, enabling robust peer review process.
Secure Infrastructure
Repositories hosted within company's secure infrastructure with VPN access for remote workers.
Automated Testing
CI pipeline automatically triggers unit tests and automation tasks for submitted changesets.
Synchronization Queue
Approved changesets are queued for batch synchronization to Azure DevOps.
Batch Synchronization Process
Approval
Changesets are reviewed, tested, and approved in Gerrit
Batching
Approved changes are queued and batched together
Scheduling
Synchronization runs on nightly schedule or on-demand
Mirroring
Batched changes are pushed to Azure DevOps repositories
Azure DevOps Integration
Cloud Backup
Azure DevOps Git repositories act as resilient, cloud-based backup and release point, serving as the universal source of truth.
Selective Access
Only select stakeholders have read/write access to Azure DevOps Git repositories for enhanced governance and control.
Release Pipeline
Once mirrored changes are available, Azure DevOps pipelines manage testing, building, and deploying releases to production.
Implementation Setup
Gerrit Setup
Install Gerrit on secure server, configure SSH authentication, and set up repositories for developer access.
Azure DevOps Setup
Create Git repositories with limited access permissions and establish service connection between Gerrit and Azure DevOps.
Sync Script Creation
Develop batch synchronization script to mirror approved changesets from Gerrit to Azure DevOps.
CI/CD Configuration
Configure Azure DevOps pipelines to trigger on changes pushed to the mirrored repository.
Benefits of the Hybrid Solution
Enhanced Security
Sensitive data remains protected within private network. Tip: Create multiple repositories based on function and assign access privileges only as needed.
Cost Optimization
Avoid expensive licenses for each developer. Save approximately $126,000/year for a company of 500 developers compared to GitHub Enterprise.
Resiliency & Scalability
Cloud-based backup ensures high availability while Gerrit manages thousands of developers simultaneously, fostering seamless collaboration.
Operational Efficiency
Improved Workflow
Streamlined processes minimize bottlenecks
Separation of Concerns
Clear division of responsibilities
Efficient Collaboration
Optimized developer experience
The batch synchronization mechanism ensures efficient propagation of approved changes while developers focus on Gerrit for collaboration and Azure DevOps oversees release CI/CD, creating a lean and effective DevOps environment.