What is Code Climate?
Who uses Code Climate?
Code Climate Integrations
Why developers like Code Climate?
Here are some stack decisions, common use cases and reviews by companies and developers who chose Code Climate in their tech stack.
When I first built my portfolio I used GitHub for the source control and deployed directly to Netlify on a push to master. This was a perfect setup, I didn't need any knowledge about #DevOps or anything, it was all just done for me.
Over the weekend I decided I wanted to know more about how #DevOps worked so I decided to switch from Netlify to Amazon S3. Instead of creating any #Git Webhooks I decided to use Buddy for my pipeline and to run commands. Buddy is a fantastic tool, very easy to setup builds, copying the files to my Amazon S3 bucket, then running some #AWS console commands to set the
When I made these changes I also wanted to monitor my code, and make sure I was keeping up with the best practices so I implemented Code Climate to look over my code and tell me where there
other issues I've been super happy with it so far, on the free tier so its also free.
I did plan on using Amazon CloudFront for my SSL and cacheing, however it was overly complex to setup and it costs money. So I decided to go with the free tier of CloudFlare and it is amazing, best choice I've made for caching / SSL in a long time.
The continuous integration process for our Rails backend app starts by opening a GitHub pull request. This triggers a CircleCI build and some Code Climate checks.
The CircleCI build is a workflow that runs the following jobs:
- check for security vulnerabilities with Brakeman
- check code quality with RuboCop
- run RSpec tests in parallel with the knapsack gem, and output test coverage reports with the simplecov gem
- upload test coverage to Code Climate
Code Climate checks the following:
- code quality metrics like code complexity
- test coverage minimum thresholds
The CircleCI jobs and Code Climate checks above have corresponding GitHub status checks.
Once all the mandatory GitHub checks pass and the code+functionality have been reviewed, developers can merge their pull request into our Git
master branch. Code is then ready to deploy!
We use it as part of CI process to check code quality, to ensure that we're not inadvertently making common mistakes and can keep the smells and scope of code changes in line and clean. Having this step here should make future support and additions much more efficient and easy to understand. Code Climate
checking our repo code quality. Code Climate
Check duplicate code, complexity and common pitfalls. Code coverage indicator for Github README file. Code Climate
Code Climate's Features
- Automated Git Updates- Nothing to install. Code Climate runs everytime you push a new commit.
- Activity Feeds- Up-to-the-minute information so you can see when and how code changes.
- Instant Notifications- Major security and quality changes pushed to where you work: email, Campfire, HipChat, and RSS feeds.
- Team Sharing- Instant access for your whole team to maximize code visibility across projects.
- Hotspots- A hit list for refactoring. Target your messiest areas one-by-one.
- Duplication Detection- Fuzzy matching algorithm finds DRY-violations that human reviewers might miss.
- Email Notification- Instant email notifications to let you know when new security and code issues arise
- Security Dashboard- Organized listing of your app's vulnerabilities, including when they were first introduced and how to address them.
- Alerts for New Rails Disclosures- Going beyond Gemfile analysis to let you know whether you're at high risk based on how your specific code uses a vulnerable library.
- Start Fixing with One Click- Full integration with Pivotal Tracker, GitHub Issues, and Lighthouse lets you open tickets instantly.
- GitHub Integration- Post-receive hooks for instant updates and GitHub drilldown links throughout.
- Test Coverage Integration- Surfacing coverage information at the repo, class, and source listing level.
- Private, Safe, and Secure- All data is private by default. SSL encryption everywhere.