BriteCore uses continuous integration for Classic BriteCore and BriteSuite products. Code changes are cyclically developed, tested, reviewed, and until they are merged into the master branch of our source control system. One of the key benefits of continuous integration is that you can detect and resolve errors quicker because the code changes introduced are usually small.
Code releases to client environments differ for the Classic BriteCore and BriteSuite services products.
Note: Each BriteCore product generation has its own release schedule. So, if you're a Classic BriteCore client using a BriteSuite service such as BriteAuth, you will be on two different release schedules.
Classic BriteCore release schedule
Classic BriteCore follows a batch release model, giving you a choice of:
- Daily release: Changes in code are merged to the master branch at 5:00 p.m. Central Standard Time and delivered to the client by 8:00 p.m. Central Standard Time on Monday, Tuesday, Wednesday, and Thursday. It's important to note that the daily releases are pushed four times a week, and it isn’t a seven-day schedule. Most of our clients are on a daily release schedule.
- Biweekly Release: The previous daily release is merged to the biweekly release at 5:00 p.m. Central Standard Time on Monday and Wednesday. Clients on a biweekly schedule will be one release cycle behind the daily release schedule. Changes in code are delivered by 8:00 p.m. Central Standard Time on Monday and Wednesday. Some of our larger clients choose this release schedule so they can run additional tests between releases.
- Forced deployment: We may need to push code to a client outside the regular release to address urgent defects.
In addition to the scheduled releases, there are times when an ad-hoc release is necessary.
Note: Forced deployments are used only for emergencies.
Releases occur in a blue/green pattern in which new code is released, traffic is migrated to use the newly released code, then the previously used code is rotated off the server.
Figure 3 provides a more detailed schedule for the Classic BriteCore release process.
BriteSuite services release schedule
All BriteSuite services are on a continuous deployment release model by default and will have their service products updated whenever a new product version is available.
Releases are managed by CloudFormation and similarly abide by the blue/green release pattern. Continuous deployment enables the shortest time to value for our customers and enables the fastest feedback loop for new features. This enables long-term success and scalability of our products.
Before newly integrated code is released to customer sites, all code must pass automated tests prior to being deployed to production automatically.