ApartCI is a cloud-based non-blocking Continuous Integration system designed to prevent quality regressions in integration branches for arbitrarily large software development projects, regardless of the changeset incoming rates. It does so by using a patent-pending method comprising:
- coordinating centralized verifications of changesets prior to their commit into the integration branch
- automatically identifying and rejecting each particular changeset causing quality regressions
- orchestrating the commits of all successfully verified changesets into the branch
- initiating creation of new labels guaranteed to have quality levels at least equal to if not better than the quality levels of preceding labels
ApartCI's combination of key advantages allows very large scale projects to operate at performance levels simply unreachable using traditional (i.e. monitoring-only) CI systems:
- non-blocking: prevents build/QA breakages which typically require human intervention for the project to advance
- fully automated: its operation does not rely on human decision
- highly scalable: growing incoming changeset rates are easily handled with relatively small additions to the pools of build/QA resources
- flexible: can be used for virtually any software project, regardless of size, language, SCM systems, verification pipelines complexity, OS/build/QA infrastructure
- cost-effective: eliminates the costs of identifying and fixing regressions and its bundled changesets verifications costs represent only a fraction of the total costs of the same changesets verified individually
- deterministic: predictable and measurable operation, guaranteed constant or increasing project quality level and lack of typically unbound time/human resources required for addressing quality regressions allow for more precise project planning and execution
ApartCI is implemented using the Google App Engine PaaS
infrastructure for its performance, scalability and security features.