Estás a 5 minutos de calidad de código y seguridad de código

Rate this content
Bookmark

En esta sesión utilizaré una demostración en vivo para mostrar lo fácil que es agregar calidad de código y seguridad de código a tu proyecto con SonarCloud, no solo por ahora, sino para cada confirmación en el futuro.

This talk has been presented at DevOps.js Conf 2021, check out the latest edition of this JavaScript Conference.

FAQ

Para configurar un nuevo proyecto, debes ir a la opción PLUS para analizar un nuevo proyecto, elegir tu organización en GitHub y seleccionar los repositorios que deseas analizar.

Sí, Sonar Cloud ofrece un plan gratuito para proyectos de código abierto.

Sonar Cloud es un producto SAS-SAS de SonarSource que se utiliza para agregar calidad de código y seguridad de código a tu repositorio.

Para iniciar sesión en Sonar Cloud, simplemente debes elegir tu ALM (Application Lifecycle Management) y la cuenta se crea automáticamente.

No, no es necesario tener configuración de CI/CD para usar Sonar Cloud, ya que el sistema puede manejar el análisis automático por sí solo.

En Sonar Cloud, puedes ver y analizar los problemas de seguridad de tu código accediendo a la sección de 'Problemas', donde se listan las vulnerabilidades y puedes profundizar en cada una para ver el contexto del código y las soluciones sugeridas.

Sí, Sonar Cloud soporta análisis de múltiples lenguajes de programación, lo que permite evaluar no solo JavaScript, sino también otros lenguajes utilizados en el proyecto.

G. Ann Campbell
G. Ann Campbell
7 min
01 Jul, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Sonar Cloud facilita la configuración de proyectos para el análisis de calidad de código y seguridad. Analiza automáticamente el código y proporciona información sobre errores, vulnerabilidades y otros problemas. La interfaz de usuario ayuda a comprender el flujo de vulnerabilidad en las funciones y archivos. Sonar Cloud admite varios lenguajes y ofrece descripciones de reglas y ejemplos de código para las mejores prácticas. En general, simplifica el análisis de código y ayuda a los desarrolladores a mejorar la calidad del código.

1. Introducción a Sonar Cloud

Short description:

Hola, soy Ann Campbell de SonarSource. Hoy quiero mostrarte lo fácil que es configurar tus proyectos con calidad de código y seguridad de código. Comenzaré iniciando sesión con mi cuenta de GitHub y seleccionando los repositorios que quiero analizar. Luego, crearé mi organización y elegiré los repositorios a analizar. ¡Es así de simple!

Hola, soy Ann Campbell de SonarSource. Hoy no tengo ninguna diapositiva para ustedes. Voy a intentar algo que es un poco arriesgado dadas las limitaciones de tiempo, pero esto debería funcionar bien. Así que lo que están viendo ahora es la página principal de Sonar Cloud, que es un producto SAS, un producto SAS-SAS, para agregar calidad de código y seguridad de código a tu repositorio. Y hoy quiero mostrarte lo fácil que es hacer eso.

Así que voy a comenzar iniciando sesión. Ahora ya tengo una cuenta, por lo que verán eso reflejado en mi experiencia. Pero como nuevo usuario, todo lo que tendrías que hacer es elegir tu ALM para iniciar sesión y se crea tu cuenta automáticamente. Así que voy a comenzar con GitHub, porque tengo una cuenta allí. Y me inicia sesión y me muestra los proyectos a los que tengo acceso. Pero eso no es lo que quiero mostrarte hoy. Lo que quiero mostrarte hoy es lo fácil que es configurar tus proyectos con calidad de código y seguridad de código.

Así que voy a ir a la opción PLUS para analizar un nuevo proyecto. Ahora me pregunta si quiero analizar un proyecto de una de las organizaciones existentes a las que ya tengo acceso. Pero nuevamente, eso no es lo que quiero mostrarte hoy. Voy a mostrarte cómo crear una organización desde mi ALM. Así que voy a elegir GitHub. Y cuando llego aquí, me pregunta qué organización quiero en GitHub. Voy a elegir la privada. Y ahora GitHub me está pidiendo que otorgue permisos. Ahora, no quiero darle permisos a Sonar Cloud, solo estoy probando esto, ¿verdad? Así que no quiero darle permiso a Sonar Cloud para todos mis repositorios. Voy a seleccionar los repositorios que he elegido, que he bifurcado recientemente para esta demostración. Así que escribo los nombres de mis repositorios y hay un par que quiero mostrarte. Y una vez que los he seleccionado, puedo guardar eso. Eso me lleva de vuelta a Sonar Cloud, donde tengo un par de pasos más que completar. Tengo que darle un nombre y establecer una clave para mi organización. Voy a ir con el valor predeterminado. Quiero el plan gratuito, Sonar Cloud es gratuito para proyectos de código abierto. Así que voy a crear mi organización de esa manera. Ahora Sonar Cloud me está preguntando, de los repositorios a los que tiene acceso, ¿cuáles quiero analizar? Quiero analizar ambos. Ahora hago clic en Configurar.

2. Análisis de Código y Exploración de Problemas

Short description:

Sonar Cloud analiza automáticamente mi código, eliminando la necesidad de configuración de CI/CD. Analiza la última versión de la rama principal y ejecuta el análisis para cada confirmación y nueva solicitud de extracción en mi rama principal. Los resultados se reflejan en mi solicitud de extracción en GitHub. No tengo errores, algunas vulnerabilidades y otros problemas. Vamos a profundizar en los problemas y ver los problemas bloqueantes y las reglas. Una de las reglas es que las consultas a la base de datos no deben ser vulnerables a ataques de inyección. Esta aplicación demuestra vulnerabilidades y la interfaz de usuario facilita la comprensión del flujo de vulnerabilidad en funciones y archivos. Ahora, cambiemos a otro proyecto y exploremos algo en la página de Problemas bajo la lista de lenguajes.

Y lo que está sucediendo ahora es que Sonar Cloud está revisando mi código. Y está echando un vistazo para ver si puede analizarlo automáticamente por mí. Así que no tengo que hacer ninguna configuración de CI/CD aquí. Simplemente se encargará de eso por mí.

Entonces, analiza mi código y dice que sí, puedo ejecutar un análisis automático en esto. Y está analizando la última versión de la rama principal. A partir de este momento, por cada confirmación en mi rama principal y por cada nueva solicitud de extracción, se ejecutará ese análisis por mí y se reflejarán los resultados en mi solicitud de extracción en GitHub, con una marca en mi solicitud de extracción.

Así que ahora mi pequeña aplicación ya ha terminado de analizar. Vamos a ver qué tengo. Aquí está mi resumen. Cero errores, tengo algunas vulnerabilidades. Tengo algunos otros problemas, pero lo que realmente quiero mostrarte aquí son los problemas. Aquí tengo mi lista de problemas. Sin embargo, no es muy útil ver solo una lista de problemas sin contexto. Así que voy a profundizar aquí. Veamos los problemas bloqueantes y las reglas. Tengo la regla de que las consultas a la base de datos no deben ser vulnerables a ataques de inyección. Veamos cuáles son esas. Voy a hacer clic en esto para ver el problema en el contexto del código.

Ahora, esta aplicación fue creada para demostrar vulnerabilidades. Así que lo que estamos viendo aquí es un flujo de vulnerabilidad realmente compacto. Pero la realidad es que en proyectos normales, el flujo de vulnerabilidad abarcará no solo funciones, sino probablemente también páginas y diferentes archivos en el proyecto. Hemos diseñado la interfaz de usuario, aunque no la estés viendo aquí, para que sea fácil de entender ese flujo a través de funciones y archivos. Eso es lo que quería mostrarte en este proyecto.

Ahora, voy a volver a mi lista de proyectos. Y mi otro proyecto ya ha terminado de analizar en este momento. Así que quiero entrar en ese. Una vez más, aquí tengo mi resumen en la parte superior. Y quiero mostrarte algo en la página de Problemas. Y eso está aquí, debajo de la lista de lenguajes.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Elevando Monorepos con los Espacios de Trabajo de npm
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Elevando Monorepos con los Espacios de Trabajo de npm
Top Content
NPM workspaces help manage multiple nested packages within a single top-level package, improving since the release of NPM CLI 7.0. You can easily add dependencies to workspaces and handle duplications. Running scripts and orchestration in a monorepo is made easier with NPM workspaces. The npm pkg command is useful for setting and retrieving keys and values from package.json files. NPM workspaces offer benefits compared to Lerna and future plans include better workspace linking and adding missing features.
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Node Congress 2022Node Congress 2022
26 min
Es una jungla ahí fuera: ¿Qué está pasando realmente dentro de tu carpeta Node_Modules?
Top Content
The talk discusses the importance of supply chain security in the open source ecosystem, highlighting the risks of relying on open source code without proper code review. It explores the trend of supply chain attacks and the need for a new approach to detect and block malicious dependencies. The talk also introduces Socket, a tool that assesses the security of packages and provides automation and analysis to protect against malware and supply chain attacks. It emphasizes the need to prioritize security in software development and offers insights into potential solutions such as realms and Deno's command line flags.
Automatizando Todo el Código y las Pruebas con GitHub Actions
React Advanced Conference 2021React Advanced Conference 2021
19 min
Automatizando Todo el Código y las Pruebas con GitHub Actions
Top Content
We will learn how to automate code and testing with GitHub Actions, including linting, formatting, testing, and deployments. Automating deployments with scripts and Git hooks can help avoid mistakes. Popular CI-CD frameworks like Jenkins offer powerful orchestration but can be challenging to work with. GitHub Actions are flexible and approachable, allowing for environment setup, testing, deployment, and custom actions. A custom AppleTools Eyes GitHub action simplifies visual testing. Other examples include automating content reminders for sharing old content and tutorials.
Ajustando DevOps para las Personas sobre la Perfección
DevOps.js Conf 2022DevOps.js Conf 2022
33 min
Ajustando DevOps para las Personas sobre la Perfección
Top Content
DevOps is a journey that varies for each company, and remote work makes transformation challenging. Pull requests can be frustrating and slow, but success stories like Mateo Colia's company show the benefits of deploying every day. Challenges with tools and vulnerabilities require careful consideration and prioritization. Investing in documentation and people is important for efficient workflows and team growth. Trust is more important than excessive control when deploying to production.
¿Por qué es tan lento el CI?
DevOps.js Conf 2022DevOps.js Conf 2022
27 min
¿Por qué es tan lento el CI?
Slow CI has a negative impact on productivity and finances. Debugging CI workflows and tool slowness is even worse. Dependencies impact CI and waiting for NPM or YARN is frustrating. The ideal CI job involves native programs for static jobs and lightweight environments for dynamic jobs. Improving formatter performance and linting is a priority. Performance optimization and fast tools are essential for CI and developers using slower hardware.
El estado de la autenticación sin contraseña en la web
JSNation 2023JSNation 2023
30 min
El estado de la autenticación sin contraseña en la web
Passwords are terrible and easily hacked, with most people not using password managers. The credential management API and autocomplete attribute can improve user experience and security. Two-factor authentication enhances security but regresses user experience. Passkeys offer a seamless and secure login experience, but browser support may be limited. Recommendations include detecting Passkey support and offering fallbacks to passwords and two-factor authentication.

Workshops on related topic

De 0 a Autenticación en una hora con ReactJS
React Summit 2023React Summit 2023
56 min
De 0 a Autenticación en una hora con ReactJS
WorkshopFree
Kevin Gao
Kevin Gao
La autenticación sin contraseña puede parecer compleja, pero es simple de agregar a cualquier aplicación utilizando la herramienta adecuada. Hay múltiples alternativas que son mucho mejores que las contraseñas para identificar y autenticar a tus usuarios, incluyendo SSO, SAML, OAuth, Magic Links, One-Time Passwords y Authenticator Apps.
Mientras abordamos los aspectos de seguridad y evitamos errores comunes, mejoraremos una aplicación JS de pila completa (backend Node.js + frontend React) para autenticar a los usuarios con OAuth (inicio de sesión social) y One Time Passwords (correo electrónico), incluyendo:- Autenticación de usuarios - Gestión de interacciones de usuarios, devolviendo JWTs de sesión / actualización- Gestión y validación de sesiones - Almacenamiento seguro de la sesión para solicitudes de cliente posteriores, validación / actualización de sesiones- Autorización básica - extracción y validación de reclamaciones del token JWT de sesión y manejo de autorización en flujos del backend
Al final del masterclass, también exploraremos otros enfoques de implementación de autenticación con Descope, utilizando SDKs de frontend o backend.
Despliegue de aplicaciones React Native en la nube
React Summit 2023React Summit 2023
88 min
Despliegue de aplicaciones React Native en la nube
WorkshopFree
Cecelia Martinez
Cecelia Martinez
Desplegar aplicaciones React Native manualmente en una máquina local puede ser complejo. Las diferencias entre Android e iOS requieren que los desarrolladores utilicen herramientas y procesos específicos para cada plataforma, incluidos los requisitos de hardware para iOS. Los despliegues manuales también dificultan la gestión de las credenciales de firma, las configuraciones de entorno, el seguimiento de las versiones y la colaboración en equipo.
Appflow es la plataforma de DevOps móvil en la nube creada por Ionic. Utilizar un servicio como Appflow para construir aplicaciones React Native no solo proporciona acceso a potentes recursos informáticos, sino que también simplifica el proceso de despliegue al proporcionar un entorno centralizado para gestionar y distribuir tu aplicación en múltiples plataformas. Esto puede ahorrar tiempo y recursos, permitir la colaboración, así como mejorar la confiabilidad y escalabilidad general de una aplicación.
En este masterclass, desplegarás una aplicación React Native para su entrega en dispositivos de prueba Android e iOS utilizando Appflow. También aprenderás los pasos para publicar en Google Play y Apple App Stores. No se requiere experiencia previa en el despliegue de aplicaciones nativas, y obtendrás una comprensión más profunda del proceso de despliegue móvil y las mejores prácticas para utilizar una plataforma de DevOps móvil en la nube para enviar rápidamente a gran escala.
Despliegue de Aplicación MERN Stack en Kubernetes
DevOps.js Conf 2022DevOps.js Conf 2022
152 min
Despliegue de Aplicación MERN Stack en Kubernetes
Workshop
Joel Lord
Joel Lord
Desplegar y gestionar aplicaciones JavaScript en Kubernetes puede volverse complicado. Especialmente cuando una base de datos también debe formar parte del despliegue. MongoDB Atlas ha facilitado mucho la vida de los desarrolladores, sin embargo, ¿cómo se integra un producto SaaS con su clúster de Kubernetes existente? Aquí es donde entra en juego el Operador de MongoDB Atlas. En este masterclass, los asistentes aprenderán cómo crear una aplicación MERN (MongoDB, Express, React, Node.js) localmente y cómo desplegar todo en un clúster de Kubernetes con el Operador de Atlas.
Azure Static Web Apps (SWA) con Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
13 min
Azure Static Web Apps (SWA) con Azure DevOps
WorkshopFree
Juarez Barbosa Junior
Juarez Barbosa Junior
Las Azure Static Web Apps se lanzaron a principios de 2021 y, de forma predeterminada, pueden integrar su repositorio existente y implementar su aplicación web estática desde Azure DevOps. Este masterclass demuestra cómo publicar una Azure Static Web App con Azure DevOps.
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
DevOps.js Conf 2022DevOps.js Conf 2022
163 min
Cómo desarrollar, construir e implementar microservicios Node.js con Pulumi y Azure DevOps
Workshop
Alex Korzhikov
Andrew Reddikh
2 authors
El masterclass ofrece una perspectiva práctica de los principios clave necesarios para desarrollar, construir y mantener un conjunto de microservicios en el stack Node.js. Cubre los detalles específicos de la creación de servicios TypeScript aislados utilizando el enfoque de monorepo con lerna y yarn workspaces. El masterclass incluye una descripción general y un ejercicio en vivo para crear un entorno en la nube con el framework Pulumi y los servicios de Azure. Las sesiones están dirigidas a los mejores desarrolladores que deseen aprender y practicar técnicas de construcción e implementación utilizando el stack Azure y Pulumi para Node.js.