I am looking into circle CI and other solutions as well. I have a slight description of what we have jenkins do here
https://softwareengineering.stackexchange.com/a/332400/63472
but to be more clear, I want a system(this is a HARD requirement or we will go with installing jenkins on-site which we prefer to not do).
- First, we install git hooks so no user but the CI user can push to master
- Next, we tell the build system look for and detect all branches prefixed with "submit_"
- The build system sees any new(or changed) submit_ branch, merges in master
- IF above merge fails, it rejects developer, sends them an email
- IF success, it runs the build.
- IF build fails, again, email to developer
- IF build succeeds, it then merges it to master
In this way, the build is always stable? Is there any cloud CI that has this feature?