Join GitHub today
- 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.
- 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