You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ctumwebaze edited this page Aug 8, 2014
·
7 revisions
Goals
Run tests on pull requests, Merge pull requests only when build is already green
Evergreen master (or at least > 99%)
No overhead of a core team maintaining servers. The CI should keep running
Less queuing
Current CI Pipeline
Travis-CI runs on every pull request, and directly marks the pull request as red/green
We merge only if the pull request is green
Jenkins runs after merging, and handles deployments tasks such as deploying to Dev/Test/UAT, uploading APKs, etc
One-time tasks such as generating an installer, etc are not to be delegated to the CI. Whenever a production release is made, generate the installer and upload it to the Releases folder, and be done with it.
Deployment Process
A pull request is merged into rapidftr master branch
The Docker build is triggered to build a docker image for the application.
When docker is done building the image, it notifies the Jenkins CI using a configured web hook to start running the deployment pipeline
When the CI pipeline runs to completion, it deploys to the configured nodes e.g. https://dev.rapidftr.com