
SonarQube
It is like comparing Apples to Oranges.
ReSharper is a popular developer productivity extension for Microsoft Visual Studio. It provides a wide range of features to help developers write better code, including code analysis, refactoring, navigation, and code generation. It also supports a variety of programming languages, including C#, VB.NET, XAML, and JavaScript. ReSharper is developed by JetBrains, a company that specializes in creating development tools.
SonarQube is an open-source platform for continuous inspection of code quality. It provides an overview of an application's technical debt, and gives developers actionable issues, and measures of code maintainability, test coverage and duplication. It supports wide v programming languages, including Java, C#, JavaScript, and PHP. SonarQube can be integrated with popular build and development tools like Jenkins, Maven, and Visual Studio. It also provides a web-based interface for browsing and analyzing code quality metrics and can be used for static and dynamic code analysis. It also has the capability of identifying and alerting on vulnerabilities and bugs.
We have heavy Oracle ERP customizations in the company and some amount of Java/JSP customizations, for which the QA team has to do code review manually. For Java code review SonarQube may be good, but is it the best? And for PL/SQL, Oracle Forms/Oracle reports which tool can do Code review automation?
Please suggest.
Hello,
I have a generic question regarding SonarQube.
Suppose I have 5M lines of code in the enterprise edition, and I want to share the cost across multiple platforms, what is the feasible way of cross charging the teams? through which parameter of usage?
I do not want to share it evenly because the number of platforms can increase in the future and randomly considering a parameter will not be an ideal one as there will be a chance of uneven cost distribution.
Could someone who is working in a central team give real examples of how can this be achieved? A solution that can work for both the central team and platforms.
Regards, Priya
ESLint and Prettier should provide you a clean, beautiful, less-bug code but there are some (as I can think of) that SonarQube could help improving your code more, which are:
- "Security Hotspot" such as detecting plain credentials in source code, regex validation, and etc, which both can't detect for.
- finding "Code Smell" (code which might lead into a bug) in your source code
- finding vulnerability, for example, bad configuration and weak cipher.
- finding a block of code which might cost you a bad performance, for example, nested loops.
- a lot more.
Sometimes SonarQube checks might be annoying, but after you adjusted it to fit with your coding style, it should be very useful!
On top of linting and prettifying, sonar cube gives you hints about vulnerabilities and code smells. So it has its value in checking semantics for you as well. The degree of this is easily configurable. It also can give you hints on how much effort fixes might take. The best advice is to try it on your code base and evaluate if the generated reports provide additional value to your team.
Can you just give brief about the differences between Coverity Scan and SonarQube. Which one is better and what are pros and cons of this
Coverity Scan or SonarQube which is better on and how
Is it possible to integrate Black Duck, SonarQube and Coverity with Fortify SSC?
Our whole DevOps stack consists of the following tools:
- GitHub (incl. GitHub Pages/Markdown for Documentation, GettingStarted and HowTo's) for collaborative review and code management tool
- Respectively Git as revision control system
- SourceTree as Git GUI
- Visual Studio Code as IDE
- CircleCI for continuous integration (automatize development process)
- Prettier / TSLint / ESLint as code linter
- SonarQube as quality gate
- Docker as container management (incl. Docker Compose for multi-container application management)
- VirtualBox for operating system simulation tests
- Kubernetes as cluster management for docker containers
- Heroku for deploying in test environments
- nginx as web server (preferably used as facade server in production environment)
- SSLMate (using OpenSSL) for certificate management
- Amazon EC2 (incl. Amazon S3) for deploying in stage (production-like) and production environments
- PostgreSQL as preferred database system
- Redis as preferred in-memory database/store (great for caching)
The main reason we have chosen Kubernetes over Docker Swarm is related to the following artifacts:
- Key features: Easy and flexible installation, Clear dashboard, Great scaling operations, Monitoring is an integral part, Great load balancing concepts, Monitors the condition and ensures compensation in the event of failure.
- Applications: An application can be deployed using a combination of pods, deployments, and services (or micro-services).
- Functionality: Kubernetes as a complex installation and setup process, but it not as limited as Docker Swarm.
- Monitoring: It supports multiple versions of logging and monitoring when the services are deployed within the cluster (Elasticsearch/Kibana (ELK), Heapster/Grafana, Sysdig cloud integration).
- Scalability: All-in-one framework for distributed systems.
- Other Benefits: Kubernetes is backed by the Cloud Native Computing Foundation (CNCF), huge community among container orchestration tools, it is an open source and modular tool that works with any OS.
So why is your deployment different for your (Heroku) test/dev and your stage/production?
When it comes to testing our web app we do not demand great computational resources and need a very simple, convenient and fast PaaS solution for deploying the app to our testers. In production though, the demand of great computational resources can rise very fast. With Amazon we are able to control that in better way.
I'm beginning to research the right way to better integrate how we achieve SCA / shift-left / SecureDevOps / secure software supply chain. If you use or have evaluated WhiteSource, Snyk, Sonatype Nexus, SonarQube or similar, I would very much appreciate your perspective on strengths and weaknesses and how you selected your ultimate solution. I want to integrate with GitLab CI.
I'd recommend Snyk since it provides an IDE extension for Developers, SAST, auto PR security fixes, container, IaC and includes open source scanning as well. I like their scoring method as well for better prioritization. I was able to remove most of the containers and cli tools I had in my pipelines since Snyk covers secrets, vulns, security and some code cleaning. SAST has false positives but the scoring helps. Also had to spend time putting some training docs but their engineers helped out with content.