CircleCI has became the most popular CI service for GitHub over the past years. More and more companies are using it, and among those some want to also use SonarCloud. However, those teams are facing various problems and frictions along the way, such as the need to understand how to properly configure all the scanner properties to correctly analyse branches and pull requests (which is very difficult and can lead to lots of various issues and bad side effects).
We want that those teams can integrate SonarCloud in their workflows very simply, in just a few steps. Just exactly what teams using Travis CI can already do thanks to the integration we built several years ago.
As a team relying on Circle-CI for my CI/CD workflows, and who wants to enhance those workflows with SonarCloud analyses, I expect:
- To sign up on SonarCloud
- Once I've created a project from my repository, to see "Circle-CI" on the tutorial
- In this tutorial, to see that I need to:
- Generate a token and set it as an encrypted variable (on my Circle-CI repo/org settings or my config Circle-CI file)
- Copy-paste some YML into my Circle-CI config file for the trigger of the analysis
- The command to copy will differ depending on the build technology (I expect to see samples for Maven, Gradle, and the default command which is the Scanner CLI)
- And commit the changes
- Once the changes are pushed to my remote repository, I expect to see the analysis in progress and the results a couple of minutes later
- Add an entry on the tutorial in the Web UI
- Create an Orb at Circle-CI to prepare as many things as we can on behalf of the end-user
- To do this, a generic Docker image for the sonar-scanner-cli will be created so that the same image can be reused for future CI integration.
- Make the scanner-engine be aware of what the Circle-CI env variables are to auto-configure the analysis for branches and PR
- Simplify the configuration of pull request for bound project