SCW 아이콘
영웅 배경, 구분선 없음
블로그

Ejecución de inspecciones de IntelliJ desde la integración continua

앨런 리처드슨
게시됨 Feb 15, 2021
마지막 업데이트: 2026년 3월 6일

Ejecución de inspecciones de IntelliJ desde la integración continua

IntelliJ IDEA ofrece funciones para ayudar a mejorar nuestra codificación, dentro del IDE cuando escribimos código como Intentions. Las intenciones se pueden usar por lotes para inspeccionar el código en busca de patrones en todo el código fuente e incluso se pueden utilizar para analizar la línea de comandos o añadirlas a la integración continua. En este artículo se describe la funcionalidad lista para usar de IntelliJ y cómo ampliarla con las intenciones personalizadas creadas en Sensei.


Inspecciones de IntelliJ

La función de inspecciones de IntelliJ permite mostrar muchos de los errores que se notifican de forma dinámica en el IDE al codificar, p. ej.

  • detectar clases abstractas que se pueden convertir en interfaces,
  • identificar campos de clase redundantes que pueden ser locales,
  • advertencia sobre el uso de métodos obsoletos,
  • 등.


Estas inspecciones resaltan el código que coincide en el IDE como acciones de intención, que a menudo tienen un QuickFix asociado.


검사 사용 중단된 API 사용 옵션


El IDE en tiempo real que resalta cuando el código coincide con una inspección puede ayudarnos a mejorar nuestra codificación de forma dinámica. Tras identificar el problema en el código, usar las acciones de intención de IntelliJ para corregir rápidamente el código puede reforzar mejores patrones.

Perfil de inspecciones

Las inspecciones se pueden ejecutar por lotes desde el IDE y desde la línea de comandos o en un proceso de integración continua.

La clave para trabajar con las inspecciones de IntelliJ por lotes es el uso de un perfil de inspecciones.

IntelliJ tiene dos perfiles de inspección predeterminados: uno almacenado en el proyecto y otro en el IDE.

Se pueden crear nuevos perfiles de inspección para configurar complementos o casos de uso específicos, p. ej.

  • Ejecute solo el escaneo en tiempo real de Checkstyle
  • Ejecuta un conjunto específico de reglas de Sensei
  • Ejecute las comprobaciones de HTML

Las inspecciones de un perfil se pueden habilitar o deshabilitar desde las Preferencias de IntelliJ. El cuadro de diálogo de preferencias también es una manera fácil de conocer la gama de inspecciones disponibles.


제거하도록 표시된 API 사용 검사


El icono de «herramienta» te permite duplicar un perfil y crear uno nuevo para recopilar un conjunto específico de reglas.


프로필을 복제하는 도구 아이콘


Ejecución de un perfil de inspección en el IDE

Los perfiles de inspección se pueden ejecutar desde el IDE mediante el menú `Analizar\ Inspeccionar código... `.


분석 또는 검사 코드를 사용하여 검사 프로필 실행


La función de análisis le permite controlar el alcance en el que se ejecutará la inspección, por ejemplo, todo el proyecto, incluidas o excluidas las fuentes de prueba, o contra un conjunto específico de archivos.


검사 범위 지정


También puede administrar los perfiles de inspección desde aquí para crear o configurar un perfil en particular.


Al hacer clic en [Aceptar] en el cuadro de diálogo «Especificar el alcance de la inspección», IntelliJ ejecutará todas las inspecciones seleccionadas en el perfil en todo el alcance definido.

IntelliJ informará de los resultados de la ejecución de las inspecciones en la pestaña «Resultados de la inspección».


검사 결과 탭에서 검사 실행 결과를 보고합니다.


El Sensei El complemento de Secure Code Warrior le permite crear recetas personalizadas de coincidencia de código. Sensei se integra estrechamente con IntelliJ para hacer que estas recetas personalizadas sean tan naturales de usar como las IntelliJ Intention Actions. Esto significa que se cargan en IntelliJ como inspecciones y se pueden agrupar, habilitar y deshabilitar mediante los perfiles de inspección. La forma recomendada de ejecutar las recetas de Sensei de forma masiva en un proyecto es crear un perfil de inspección personalizado y, a continuación, utilizar la funcionalidad de analizar el código de inspección.



Ejecución de un perfil de inspección desde la línea de comandos

IntelliJ tiene la capacidad de ejecutar inspecciones desde la línea de comandos, tal y como lo documenta JetBrains:

- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html


Utilizo principalmente macOS y puedo ejecutar una sola instancia de IntelliJ desde la línea de comandos con:

abrir -na «IntelliJ IDEA CE.app»


Para facilitar la ejecución, lo agrego a un script de comando de shell.

a través de /usr/local/bin/idea


El contenido del script proviene de la documentación oficial proporcionada por IntelliJ.

#! /bin/sh
abrir -na «IntelliJ IDEA CE.app» --args «$@»



Luego hice este ejecutable para poder simplificar el proceso de inspección de la línea de comandos.

chmod 755/usr/local/bin/idea


Los documentos oficiales de intellij describen la forma general del comando de inspección de la siguiente manera:

inspección de ideas <project><inspection-profile><output></output></inspection-profile></project>
[<options>]</options>


En la práctica, califico completamente las rutas y no necesito ninguna opción:

idea inspect /Users/user/github/sensei-blog-examples /users/user/github/sensei-blog-examples/.idea/inspectionProfiles/senseiProfile.xml /Users/user/github/sensei-blog-examples/scan-results

Esto ejecuta todas las inspecciones que he añadido al `senseiprofile` e informa de los resultados en la carpeta `scan-results`.


Ver los resultados de la inspección

Podemos informar de estos resultados desde la Integración Continua, como veremos más adelante.

También podemos verlos dentro del propio IntelliJ mediante la función `Analizar\ Ver los resultados de la inspección fuera de línea... `.


분석 오프라인 검사 결과 보기


Esto cargará los resultados en la pestaña «Resultados de la inspección».


검사 결과 탭에 결과를 로드합니다.


Esto está documentado oficialmente en el sitio de JetBrains:

- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results


Esto podría usarse durante un proceso de revisión de código si la ejecución de la línea de comandos se incorporó a un proceso de integración continua y los revisores quisieran comprobar el contexto fuente completo de cualquiera de las entradas de resultados de la inspección.

Perfiles de inspección en integración continua

Al agregar la inspección de línea de comandos a Continuous Integration, lo ideal es que se genere un informe automáticamente y tenemos varias opciones disponibles.

TeamCity ofrece soporte listo para usar para perfiles de inspección en integración continua.

- https://www.jetbrains.com/help/teamcity/inspections.html


El complemento Jenkins Warnings NG admite la salida de línea de comandos de IntelliJ Inspections como uno de los formatos de informe.

- https://github.com/jenkinsci/warnings-ng-plugin

- https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md


Existen proyectos comunitarios como `idea CLI Inspector` para apoyar el uso de perfiles de inspección en otras herramientas de CI, p. ej.

- https://github.com/bentolor/idea-cli-inspector


El futuro de los perfiles de inspección en un proceso de CI parece aún más prometedor con la introducción del proyecto Qodana de JetBrains. El proyecto Qodana es una versión electrónica de IntelliJ con imágenes oficiales de Github Actions y Docker.

- https://github.com/JetBrains/Qodana


Qodana se encuentra actualmente en fase beta, pero el equipo de Sensei la está supervisando para que se convierta en una plataforma con soporte oficial para ejecutar las reglas de Sensei como parte de la integración continua.


Resumen

Las acciones de intención nos permiten reforzar los patrones de codificación y corregirlos rápidamente en el IDE cuando cometemos errores durante la codificación.

Los perfiles de inspección nos permiten recopilarlos en perfiles que pueden ejecutarse por lotes como una acción de análisis e inspección del código. Esto puede resultar útil si nos encontramos con un patrón y queremos comprobar si lo hemos omitido en alguna otra parte de nuestro código.

Los perfiles de inspección se pueden ejecutar desde la línea de comandos e incluso se pueden incorporar a los procesos de integración continua, lo que permite un modelo de «confiar, pero verificar» y detectar cualquier error accidental.

Todo lo anterior está integrado en la funcionalidad de IntelliJ y JetBrains está mejorando su proceso de integración continua con la introducción de Qodana.


Las recetas de Sensei se cargan en IntelliJ para que actúen como acciones intencionales nativas y se recopilan en perfiles de inspección para permitir la verificación por lotes mediante el soporte de integración continua y código de inspección que proporciona la función oficial de ejecución de línea de comandos de JetBrains.

---


Puede instalar Sensei desde IntelliJ mediante «Preferencias\ Plugins» (Mac) o «Configuración\ Plugins» (Windows) y, a continuación, buscar «código seguro de sensei».

Si quieres intentar ejecutar un proyecto en IntelliJ desde la línea de comandos, puedes encontrar el proyecto utilizado en esta publicación en el repositorio `sensei-blog-examples` de la cuenta de GitHub de Secure Code Warrior. Un ejercicio para el lector consiste en crear un perfil que siga únicamente las reglas de Sensei. Pruébalo:


https://github.com/securecodewarrior/sensei-blog-examples

Sensei에 대한 자세한 정보


리소스 보기
리소스 보기

Aprenda a ejecutar las acciones de intención de Sensei e IntelliJ en modo por lotes como inspecciones dentro del IDE, desde la línea de comandos y en integración continua.

더 알고 싶으신가요?

Alan Richardson은 20년 이상의 전문 IT 경험을 보유하고 있으며, 개발자로 일하며 테스터부터 테스트 책임자까지 모든 수준의 테스트 계층 구조에서 일하고 있습니다. 개발자 관계 책임자 Secure Code Warrior 그는 팀과 직접 협력하여 품질 보안 코드 의 개발을 개선합니다. 앨런은 "친애하는 악테터", "테스터를위한 자바"를 포함하여 네 권의 책의 저자입니다. 앨런은 또한 온라인 교육을 만들었습니다 courses 사람들이 자바와 기술 웹 테스트 및 셀레늄 웹 드라이버를 배울 수 있도록. 앨런은 SeleniumSimplified.com, EvilTester.com, JavaForTesters.com, CompendiumDev.co.uk 자신의 글과 트레이닝 비디오를 게시합니다.

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약하기
공유하기:
링크드인 브랜드사회적x 로고
저자
앨런 리처드슨
게시됨 Feb 15, 2021

Alan Richardson은 20년 이상의 전문 IT 경험을 보유하고 있으며, 개발자로 일하며 테스터부터 테스트 책임자까지 모든 수준의 테스트 계층 구조에서 일하고 있습니다. 개발자 관계 책임자 Secure Code Warrior 그는 팀과 직접 협력하여 품질 보안 코드 의 개발을 개선합니다. 앨런은 "친애하는 악테터", "테스터를위한 자바"를 포함하여 네 권의 책의 저자입니다. 앨런은 또한 온라인 교육을 만들었습니다 courses 사람들이 자바와 기술 웹 테스트 및 셀레늄 웹 드라이버를 배울 수 있도록. 앨런은 SeleniumSimplified.com, EvilTester.com, JavaForTesters.com, CompendiumDev.co.uk 자신의 글과 트레이닝 비디오를 게시합니다.

공유하기:
링크드인 브랜드사회적x 로고

Ejecución de inspecciones de IntelliJ desde la integración continua

IntelliJ IDEA ofrece funciones para ayudar a mejorar nuestra codificación, dentro del IDE cuando escribimos código como Intentions. Las intenciones se pueden usar por lotes para inspeccionar el código en busca de patrones en todo el código fuente e incluso se pueden utilizar para analizar la línea de comandos o añadirlas a la integración continua. En este artículo se describe la funcionalidad lista para usar de IntelliJ y cómo ampliarla con las intenciones personalizadas creadas en Sensei.


Inspecciones de IntelliJ

La función de inspecciones de IntelliJ permite mostrar muchos de los errores que se notifican de forma dinámica en el IDE al codificar, p. ej.

  • detectar clases abstractas que se pueden convertir en interfaces,
  • identificar campos de clase redundantes que pueden ser locales,
  • advertencia sobre el uso de métodos obsoletos,
  • 등.


Estas inspecciones resaltan el código que coincide en el IDE como acciones de intención, que a menudo tienen un QuickFix asociado.


검사 사용 중단된 API 사용 옵션


El IDE en tiempo real que resalta cuando el código coincide con una inspección puede ayudarnos a mejorar nuestra codificación de forma dinámica. Tras identificar el problema en el código, usar las acciones de intención de IntelliJ para corregir rápidamente el código puede reforzar mejores patrones.

Perfil de inspecciones

Las inspecciones se pueden ejecutar por lotes desde el IDE y desde la línea de comandos o en un proceso de integración continua.

La clave para trabajar con las inspecciones de IntelliJ por lotes es el uso de un perfil de inspecciones.

IntelliJ tiene dos perfiles de inspección predeterminados: uno almacenado en el proyecto y otro en el IDE.

Se pueden crear nuevos perfiles de inspección para configurar complementos o casos de uso específicos, p. ej.

  • Ejecute solo el escaneo en tiempo real de Checkstyle
  • Ejecuta un conjunto específico de reglas de Sensei
  • Ejecute las comprobaciones de HTML

Las inspecciones de un perfil se pueden habilitar o deshabilitar desde las Preferencias de IntelliJ. El cuadro de diálogo de preferencias también es una manera fácil de conocer la gama de inspecciones disponibles.


제거하도록 표시된 API 사용 검사


El icono de «herramienta» te permite duplicar un perfil y crear uno nuevo para recopilar un conjunto específico de reglas.


프로필을 복제하는 도구 아이콘


Ejecución de un perfil de inspección en el IDE

Los perfiles de inspección se pueden ejecutar desde el IDE mediante el menú `Analizar\ Inspeccionar código... `.


분석 또는 검사 코드를 사용하여 검사 프로필 실행


La función de análisis le permite controlar el alcance en el que se ejecutará la inspección, por ejemplo, todo el proyecto, incluidas o excluidas las fuentes de prueba, o contra un conjunto específico de archivos.


검사 범위 지정


También puede administrar los perfiles de inspección desde aquí para crear o configurar un perfil en particular.


Al hacer clic en [Aceptar] en el cuadro de diálogo «Especificar el alcance de la inspección», IntelliJ ejecutará todas las inspecciones seleccionadas en el perfil en todo el alcance definido.

IntelliJ informará de los resultados de la ejecución de las inspecciones en la pestaña «Resultados de la inspección».


검사 결과 탭에서 검사 실행 결과를 보고합니다.


El Sensei El complemento de Secure Code Warrior le permite crear recetas personalizadas de coincidencia de código. Sensei se integra estrechamente con IntelliJ para hacer que estas recetas personalizadas sean tan naturales de usar como las IntelliJ Intention Actions. Esto significa que se cargan en IntelliJ como inspecciones y se pueden agrupar, habilitar y deshabilitar mediante los perfiles de inspección. La forma recomendada de ejecutar las recetas de Sensei de forma masiva en un proyecto es crear un perfil de inspección personalizado y, a continuación, utilizar la funcionalidad de analizar el código de inspección.



Ejecución de un perfil de inspección desde la línea de comandos

IntelliJ tiene la capacidad de ejecutar inspecciones desde la línea de comandos, tal y como lo documenta JetBrains:

- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html


Utilizo principalmente macOS y puedo ejecutar una sola instancia de IntelliJ desde la línea de comandos con:

abrir -na «IntelliJ IDEA CE.app»


Para facilitar la ejecución, lo agrego a un script de comando de shell.

a través de /usr/local/bin/idea


El contenido del script proviene de la documentación oficial proporcionada por IntelliJ.

#! /bin/sh
abrir -na «IntelliJ IDEA CE.app» --args «$@»



Luego hice este ejecutable para poder simplificar el proceso de inspección de la línea de comandos.

chmod 755/usr/local/bin/idea


Los documentos oficiales de intellij describen la forma general del comando de inspección de la siguiente manera:

inspección de ideas <project><inspection-profile><output></output></inspection-profile></project>
[<options>]</options>


En la práctica, califico completamente las rutas y no necesito ninguna opción:

idea inspect /Users/user/github/sensei-blog-examples /users/user/github/sensei-blog-examples/.idea/inspectionProfiles/senseiProfile.xml /Users/user/github/sensei-blog-examples/scan-results

Esto ejecuta todas las inspecciones que he añadido al `senseiprofile` e informa de los resultados en la carpeta `scan-results`.


Ver los resultados de la inspección

Podemos informar de estos resultados desde la Integración Continua, como veremos más adelante.

También podemos verlos dentro del propio IntelliJ mediante la función `Analizar\ Ver los resultados de la inspección fuera de línea... `.


분석 오프라인 검사 결과 보기


Esto cargará los resultados en la pestaña «Resultados de la inspección».


검사 결과 탭에 결과를 로드합니다.


Esto está documentado oficialmente en el sitio de JetBrains:

- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results


Esto podría usarse durante un proceso de revisión de código si la ejecución de la línea de comandos se incorporó a un proceso de integración continua y los revisores quisieran comprobar el contexto fuente completo de cualquiera de las entradas de resultados de la inspección.

Perfiles de inspección en integración continua

Al agregar la inspección de línea de comandos a Continuous Integration, lo ideal es que se genere un informe automáticamente y tenemos varias opciones disponibles.

TeamCity ofrece soporte listo para usar para perfiles de inspección en integración continua.

- https://www.jetbrains.com/help/teamcity/inspections.html


El complemento Jenkins Warnings NG admite la salida de línea de comandos de IntelliJ Inspections como uno de los formatos de informe.

- https://github.com/jenkinsci/warnings-ng-plugin

- https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md


Existen proyectos comunitarios como `idea CLI Inspector` para apoyar el uso de perfiles de inspección en otras herramientas de CI, p. ej.

- https://github.com/bentolor/idea-cli-inspector


El futuro de los perfiles de inspección en un proceso de CI parece aún más prometedor con la introducción del proyecto Qodana de JetBrains. El proyecto Qodana es una versión electrónica de IntelliJ con imágenes oficiales de Github Actions y Docker.

- https://github.com/JetBrains/Qodana


Qodana se encuentra actualmente en fase beta, pero el equipo de Sensei la está supervisando para que se convierta en una plataforma con soporte oficial para ejecutar las reglas de Sensei como parte de la integración continua.


Resumen

Las acciones de intención nos permiten reforzar los patrones de codificación y corregirlos rápidamente en el IDE cuando cometemos errores durante la codificación.

Los perfiles de inspección nos permiten recopilarlos en perfiles que pueden ejecutarse por lotes como una acción de análisis e inspección del código. Esto puede resultar útil si nos encontramos con un patrón y queremos comprobar si lo hemos omitido en alguna otra parte de nuestro código.

Los perfiles de inspección se pueden ejecutar desde la línea de comandos e incluso se pueden incorporar a los procesos de integración continua, lo que permite un modelo de «confiar, pero verificar» y detectar cualquier error accidental.

Todo lo anterior está integrado en la funcionalidad de IntelliJ y JetBrains está mejorando su proceso de integración continua con la introducción de Qodana.


Las recetas de Sensei se cargan en IntelliJ para que actúen como acciones intencionales nativas y se recopilan en perfiles de inspección para permitir la verificación por lotes mediante el soporte de integración continua y código de inspección que proporciona la función oficial de ejecución de línea de comandos de JetBrains.

---


Puede instalar Sensei desde IntelliJ mediante «Preferencias\ Plugins» (Mac) o «Configuración\ Plugins» (Windows) y, a continuación, buscar «código seguro de sensei».

Si quieres intentar ejecutar un proyecto en IntelliJ desde la línea de comandos, puedes encontrar el proyecto utilizado en esta publicación en el repositorio `sensei-blog-examples` de la cuenta de GitHub de Secure Code Warrior. Un ejercicio para el lector consiste en crear un perfil que siga únicamente las reglas de Sensei. Pruébalo:


https://github.com/securecodewarrior/sensei-blog-examples

Sensei에 대한 자세한 정보


리소스 보기
리소스 보기

다음 양식을 작성하여 보고서를 다운로드하십시오.

귀하의 허락을 받아 당사 제품 또는 안전한 암호화 관련 주제에 대한 정보를 보내드리고자 합니다. 귀하의 개인정보는 항상 최대한 신중하게 처리하며, 마케팅 목적으로 타사에 판매하지 않을 것을 약속드립니다.

보내기
scw 성공 아이콘
scw 오류 아이콘
양식을 보내려면 '분석' 쿠키를 활성화하세요. 완료 후에는 언제든지 다시 비활성화해도 됩니다.

Ejecución de inspecciones de IntelliJ desde la integración continua

IntelliJ IDEA ofrece funciones para ayudar a mejorar nuestra codificación, dentro del IDE cuando escribimos código como Intentions. Las intenciones se pueden usar por lotes para inspeccionar el código en busca de patrones en todo el código fuente e incluso se pueden utilizar para analizar la línea de comandos o añadirlas a la integración continua. En este artículo se describe la funcionalidad lista para usar de IntelliJ y cómo ampliarla con las intenciones personalizadas creadas en Sensei.


Inspecciones de IntelliJ

La función de inspecciones de IntelliJ permite mostrar muchos de los errores que se notifican de forma dinámica en el IDE al codificar, p. ej.

  • detectar clases abstractas que se pueden convertir en interfaces,
  • identificar campos de clase redundantes que pueden ser locales,
  • advertencia sobre el uso de métodos obsoletos,
  • 등.


Estas inspecciones resaltan el código que coincide en el IDE como acciones de intención, que a menudo tienen un QuickFix asociado.


검사 사용 중단된 API 사용 옵션


El IDE en tiempo real que resalta cuando el código coincide con una inspección puede ayudarnos a mejorar nuestra codificación de forma dinámica. Tras identificar el problema en el código, usar las acciones de intención de IntelliJ para corregir rápidamente el código puede reforzar mejores patrones.

Perfil de inspecciones

Las inspecciones se pueden ejecutar por lotes desde el IDE y desde la línea de comandos o en un proceso de integración continua.

La clave para trabajar con las inspecciones de IntelliJ por lotes es el uso de un perfil de inspecciones.

IntelliJ tiene dos perfiles de inspección predeterminados: uno almacenado en el proyecto y otro en el IDE.

Se pueden crear nuevos perfiles de inspección para configurar complementos o casos de uso específicos, p. ej.

  • Ejecute solo el escaneo en tiempo real de Checkstyle
  • Ejecuta un conjunto específico de reglas de Sensei
  • Ejecute las comprobaciones de HTML

Las inspecciones de un perfil se pueden habilitar o deshabilitar desde las Preferencias de IntelliJ. El cuadro de diálogo de preferencias también es una manera fácil de conocer la gama de inspecciones disponibles.


제거하도록 표시된 API 사용 검사


El icono de «herramienta» te permite duplicar un perfil y crear uno nuevo para recopilar un conjunto específico de reglas.


프로필을 복제하는 도구 아이콘


Ejecución de un perfil de inspección en el IDE

Los perfiles de inspección se pueden ejecutar desde el IDE mediante el menú `Analizar\ Inspeccionar código... `.


분석 또는 검사 코드를 사용하여 검사 프로필 실행


La función de análisis le permite controlar el alcance en el que se ejecutará la inspección, por ejemplo, todo el proyecto, incluidas o excluidas las fuentes de prueba, o contra un conjunto específico de archivos.


검사 범위 지정


También puede administrar los perfiles de inspección desde aquí para crear o configurar un perfil en particular.


Al hacer clic en [Aceptar] en el cuadro de diálogo «Especificar el alcance de la inspección», IntelliJ ejecutará todas las inspecciones seleccionadas en el perfil en todo el alcance definido.

IntelliJ informará de los resultados de la ejecución de las inspecciones en la pestaña «Resultados de la inspección».


검사 결과 탭에서 검사 실행 결과를 보고합니다.


El Sensei El complemento de Secure Code Warrior le permite crear recetas personalizadas de coincidencia de código. Sensei se integra estrechamente con IntelliJ para hacer que estas recetas personalizadas sean tan naturales de usar como las IntelliJ Intention Actions. Esto significa que se cargan en IntelliJ como inspecciones y se pueden agrupar, habilitar y deshabilitar mediante los perfiles de inspección. La forma recomendada de ejecutar las recetas de Sensei de forma masiva en un proyecto es crear un perfil de inspección personalizado y, a continuación, utilizar la funcionalidad de analizar el código de inspección.



Ejecución de un perfil de inspección desde la línea de comandos

IntelliJ tiene la capacidad de ejecutar inspecciones desde la línea de comandos, tal y como lo documenta JetBrains:

- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html


Utilizo principalmente macOS y puedo ejecutar una sola instancia de IntelliJ desde la línea de comandos con:

abrir -na «IntelliJ IDEA CE.app»


Para facilitar la ejecución, lo agrego a un script de comando de shell.

a través de /usr/local/bin/idea


El contenido del script proviene de la documentación oficial proporcionada por IntelliJ.

#! /bin/sh
abrir -na «IntelliJ IDEA CE.app» --args «$@»



Luego hice este ejecutable para poder simplificar el proceso de inspección de la línea de comandos.

chmod 755/usr/local/bin/idea


Los documentos oficiales de intellij describen la forma general del comando de inspección de la siguiente manera:

inspección de ideas <project><inspection-profile><output></output></inspection-profile></project>
[<options>]</options>


En la práctica, califico completamente las rutas y no necesito ninguna opción:

idea inspect /Users/user/github/sensei-blog-examples /users/user/github/sensei-blog-examples/.idea/inspectionProfiles/senseiProfile.xml /Users/user/github/sensei-blog-examples/scan-results

Esto ejecuta todas las inspecciones que he añadido al `senseiprofile` e informa de los resultados en la carpeta `scan-results`.


Ver los resultados de la inspección

Podemos informar de estos resultados desde la Integración Continua, como veremos más adelante.

También podemos verlos dentro del propio IntelliJ mediante la función `Analizar\ Ver los resultados de la inspección fuera de línea... `.


분석 오프라인 검사 결과 보기


Esto cargará los resultados en la pestaña «Resultados de la inspección».


검사 결과 탭에 결과를 로드합니다.


Esto está documentado oficialmente en el sitio de JetBrains:

- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results


Esto podría usarse durante un proceso de revisión de código si la ejecución de la línea de comandos se incorporó a un proceso de integración continua y los revisores quisieran comprobar el contexto fuente completo de cualquiera de las entradas de resultados de la inspección.

Perfiles de inspección en integración continua

Al agregar la inspección de línea de comandos a Continuous Integration, lo ideal es que se genere un informe automáticamente y tenemos varias opciones disponibles.

TeamCity ofrece soporte listo para usar para perfiles de inspección en integración continua.

- https://www.jetbrains.com/help/teamcity/inspections.html


El complemento Jenkins Warnings NG admite la salida de línea de comandos de IntelliJ Inspections como uno de los formatos de informe.

- https://github.com/jenkinsci/warnings-ng-plugin

- https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md


Existen proyectos comunitarios como `idea CLI Inspector` para apoyar el uso de perfiles de inspección en otras herramientas de CI, p. ej.

- https://github.com/bentolor/idea-cli-inspector


El futuro de los perfiles de inspección en un proceso de CI parece aún más prometedor con la introducción del proyecto Qodana de JetBrains. El proyecto Qodana es una versión electrónica de IntelliJ con imágenes oficiales de Github Actions y Docker.

- https://github.com/JetBrains/Qodana


Qodana se encuentra actualmente en fase beta, pero el equipo de Sensei la está supervisando para que se convierta en una plataforma con soporte oficial para ejecutar las reglas de Sensei como parte de la integración continua.


Resumen

Las acciones de intención nos permiten reforzar los patrones de codificación y corregirlos rápidamente en el IDE cuando cometemos errores durante la codificación.

Los perfiles de inspección nos permiten recopilarlos en perfiles que pueden ejecutarse por lotes como una acción de análisis e inspección del código. Esto puede resultar útil si nos encontramos con un patrón y queremos comprobar si lo hemos omitido en alguna otra parte de nuestro código.

Los perfiles de inspección se pueden ejecutar desde la línea de comandos e incluso se pueden incorporar a los procesos de integración continua, lo que permite un modelo de «confiar, pero verificar» y detectar cualquier error accidental.

Todo lo anterior está integrado en la funcionalidad de IntelliJ y JetBrains está mejorando su proceso de integración continua con la introducción de Qodana.


Las recetas de Sensei se cargan en IntelliJ para que actúen como acciones intencionales nativas y se recopilan en perfiles de inspección para permitir la verificación por lotes mediante el soporte de integración continua y código de inspección que proporciona la función oficial de ejecución de línea de comandos de JetBrains.

---


Puede instalar Sensei desde IntelliJ mediante «Preferencias\ Plugins» (Mac) o «Configuración\ Plugins» (Windows) y, a continuación, buscar «código seguro de sensei».

Si quieres intentar ejecutar un proyecto en IntelliJ desde la línea de comandos, puedes encontrar el proyecto utilizado en esta publicación en el repositorio `sensei-blog-examples` de la cuenta de GitHub de Secure Code Warrior. Un ejercicio para el lector consiste en crear un perfil que siga únicamente las reglas de Sensei. Pruébalo:


https://github.com/securecodewarrior/sensei-blog-examples

Sensei에 대한 자세한 정보


웹 세미나 보기
시작하다
더 알아보세요

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

보고서 보기데모 예약하기
리소스 보기
공유하기:
링크드인 브랜드사회적x 로고
더 알고 싶으신가요?

공유하기:
링크드인 브랜드사회적x 로고
저자
앨런 리처드슨
게시됨 Feb 15, 2021

Alan Richardson은 20년 이상의 전문 IT 경험을 보유하고 있으며, 개발자로 일하며 테스터부터 테스트 책임자까지 모든 수준의 테스트 계층 구조에서 일하고 있습니다. 개발자 관계 책임자 Secure Code Warrior 그는 팀과 직접 협력하여 품질 보안 코드 의 개발을 개선합니다. 앨런은 "친애하는 악테터", "테스터를위한 자바"를 포함하여 네 권의 책의 저자입니다. 앨런은 또한 온라인 교육을 만들었습니다 courses 사람들이 자바와 기술 웹 테스트 및 셀레늄 웹 드라이버를 배울 수 있도록. 앨런은 SeleniumSimplified.com, EvilTester.com, JavaForTesters.com, CompendiumDev.co.uk 자신의 글과 트레이닝 비디오를 게시합니다.

공유하기:
링크드인 브랜드사회적x 로고

Ejecución de inspecciones de IntelliJ desde la integración continua

IntelliJ IDEA ofrece funciones para ayudar a mejorar nuestra codificación, dentro del IDE cuando escribimos código como Intentions. Las intenciones se pueden usar por lotes para inspeccionar el código en busca de patrones en todo el código fuente e incluso se pueden utilizar para analizar la línea de comandos o añadirlas a la integración continua. En este artículo se describe la funcionalidad lista para usar de IntelliJ y cómo ampliarla con las intenciones personalizadas creadas en Sensei.


Inspecciones de IntelliJ

La función de inspecciones de IntelliJ permite mostrar muchos de los errores que se notifican de forma dinámica en el IDE al codificar, p. ej.

  • detectar clases abstractas que se pueden convertir en interfaces,
  • identificar campos de clase redundantes que pueden ser locales,
  • advertencia sobre el uso de métodos obsoletos,
  • 등.


Estas inspecciones resaltan el código que coincide en el IDE como acciones de intención, que a menudo tienen un QuickFix asociado.


검사 사용 중단된 API 사용 옵션


El IDE en tiempo real que resalta cuando el código coincide con una inspección puede ayudarnos a mejorar nuestra codificación de forma dinámica. Tras identificar el problema en el código, usar las acciones de intención de IntelliJ para corregir rápidamente el código puede reforzar mejores patrones.

Perfil de inspecciones

Las inspecciones se pueden ejecutar por lotes desde el IDE y desde la línea de comandos o en un proceso de integración continua.

La clave para trabajar con las inspecciones de IntelliJ por lotes es el uso de un perfil de inspecciones.

IntelliJ tiene dos perfiles de inspección predeterminados: uno almacenado en el proyecto y otro en el IDE.

Se pueden crear nuevos perfiles de inspección para configurar complementos o casos de uso específicos, p. ej.

  • Ejecute solo el escaneo en tiempo real de Checkstyle
  • Ejecuta un conjunto específico de reglas de Sensei
  • Ejecute las comprobaciones de HTML

Las inspecciones de un perfil se pueden habilitar o deshabilitar desde las Preferencias de IntelliJ. El cuadro de diálogo de preferencias también es una manera fácil de conocer la gama de inspecciones disponibles.


제거하도록 표시된 API 사용 검사


El icono de «herramienta» te permite duplicar un perfil y crear uno nuevo para recopilar un conjunto específico de reglas.


프로필을 복제하는 도구 아이콘


Ejecución de un perfil de inspección en el IDE

Los perfiles de inspección se pueden ejecutar desde el IDE mediante el menú `Analizar\ Inspeccionar código... `.


분석 또는 검사 코드를 사용하여 검사 프로필 실행


La función de análisis le permite controlar el alcance en el que se ejecutará la inspección, por ejemplo, todo el proyecto, incluidas o excluidas las fuentes de prueba, o contra un conjunto específico de archivos.


검사 범위 지정


También puede administrar los perfiles de inspección desde aquí para crear o configurar un perfil en particular.


Al hacer clic en [Aceptar] en el cuadro de diálogo «Especificar el alcance de la inspección», IntelliJ ejecutará todas las inspecciones seleccionadas en el perfil en todo el alcance definido.

IntelliJ informará de los resultados de la ejecución de las inspecciones en la pestaña «Resultados de la inspección».


검사 결과 탭에서 검사 실행 결과를 보고합니다.


El Sensei El complemento de Secure Code Warrior le permite crear recetas personalizadas de coincidencia de código. Sensei se integra estrechamente con IntelliJ para hacer que estas recetas personalizadas sean tan naturales de usar como las IntelliJ Intention Actions. Esto significa que se cargan en IntelliJ como inspecciones y se pueden agrupar, habilitar y deshabilitar mediante los perfiles de inspección. La forma recomendada de ejecutar las recetas de Sensei de forma masiva en un proyecto es crear un perfil de inspección personalizado y, a continuación, utilizar la funcionalidad de analizar el código de inspección.



Ejecución de un perfil de inspección desde la línea de comandos

IntelliJ tiene la capacidad de ejecutar inspecciones desde la línea de comandos, tal y como lo documenta JetBrains:

- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html


Utilizo principalmente macOS y puedo ejecutar una sola instancia de IntelliJ desde la línea de comandos con:

abrir -na «IntelliJ IDEA CE.app»


Para facilitar la ejecución, lo agrego a un script de comando de shell.

a través de /usr/local/bin/idea


El contenido del script proviene de la documentación oficial proporcionada por IntelliJ.

#! /bin/sh
abrir -na «IntelliJ IDEA CE.app» --args «$@»



Luego hice este ejecutable para poder simplificar el proceso de inspección de la línea de comandos.

chmod 755/usr/local/bin/idea


Los documentos oficiales de intellij describen la forma general del comando de inspección de la siguiente manera:

inspección de ideas <project><inspection-profile><output></output></inspection-profile></project>
[<options>]</options>


En la práctica, califico completamente las rutas y no necesito ninguna opción:

idea inspect /Users/user/github/sensei-blog-examples /users/user/github/sensei-blog-examples/.idea/inspectionProfiles/senseiProfile.xml /Users/user/github/sensei-blog-examples/scan-results

Esto ejecuta todas las inspecciones que he añadido al `senseiprofile` e informa de los resultados en la carpeta `scan-results`.


Ver los resultados de la inspección

Podemos informar de estos resultados desde la Integración Continua, como veremos más adelante.

También podemos verlos dentro del propio IntelliJ mediante la función `Analizar\ Ver los resultados de la inspección fuera de línea... `.


분석 오프라인 검사 결과 보기


Esto cargará los resultados en la pestaña «Resultados de la inspección».


검사 결과 탭에 결과를 로드합니다.


Esto está documentado oficialmente en el sitio de JetBrains:

- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results


Esto podría usarse durante un proceso de revisión de código si la ejecución de la línea de comandos se incorporó a un proceso de integración continua y los revisores quisieran comprobar el contexto fuente completo de cualquiera de las entradas de resultados de la inspección.

Perfiles de inspección en integración continua

Al agregar la inspección de línea de comandos a Continuous Integration, lo ideal es que se genere un informe automáticamente y tenemos varias opciones disponibles.

TeamCity ofrece soporte listo para usar para perfiles de inspección en integración continua.

- https://www.jetbrains.com/help/teamcity/inspections.html


El complemento Jenkins Warnings NG admite la salida de línea de comandos de IntelliJ Inspections como uno de los formatos de informe.

- https://github.com/jenkinsci/warnings-ng-plugin

- https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md


Existen proyectos comunitarios como `idea CLI Inspector` para apoyar el uso de perfiles de inspección en otras herramientas de CI, p. ej.

- https://github.com/bentolor/idea-cli-inspector


El futuro de los perfiles de inspección en un proceso de CI parece aún más prometedor con la introducción del proyecto Qodana de JetBrains. El proyecto Qodana es una versión electrónica de IntelliJ con imágenes oficiales de Github Actions y Docker.

- https://github.com/JetBrains/Qodana


Qodana se encuentra actualmente en fase beta, pero el equipo de Sensei la está supervisando para que se convierta en una plataforma con soporte oficial para ejecutar las reglas de Sensei como parte de la integración continua.


Resumen

Las acciones de intención nos permiten reforzar los patrones de codificación y corregirlos rápidamente en el IDE cuando cometemos errores durante la codificación.

Los perfiles de inspección nos permiten recopilarlos en perfiles que pueden ejecutarse por lotes como una acción de análisis e inspección del código. Esto puede resultar útil si nos encontramos con un patrón y queremos comprobar si lo hemos omitido en alguna otra parte de nuestro código.

Los perfiles de inspección se pueden ejecutar desde la línea de comandos e incluso se pueden incorporar a los procesos de integración continua, lo que permite un modelo de «confiar, pero verificar» y detectar cualquier error accidental.

Todo lo anterior está integrado en la funcionalidad de IntelliJ y JetBrains está mejorando su proceso de integración continua con la introducción de Qodana.


Las recetas de Sensei se cargan en IntelliJ para que actúen como acciones intencionales nativas y se recopilan en perfiles de inspección para permitir la verificación por lotes mediante el soporte de integración continua y código de inspección que proporciona la función oficial de ejecución de línea de comandos de JetBrains.

---


Puede instalar Sensei desde IntelliJ mediante «Preferencias\ Plugins» (Mac) o «Configuración\ Plugins» (Windows) y, a continuación, buscar «código seguro de sensei».

Si quieres intentar ejecutar un proyecto en IntelliJ desde la línea de comandos, puedes encontrar el proyecto utilizado en esta publicación en el repositorio `sensei-blog-examples` de la cuenta de GitHub de Secure Code Warrior. Un ejercicio para el lector consiste en crear un perfil que siga únicamente las reglas de Sensei. Pruébalo:


https://github.com/securecodewarrior/sensei-blog-examples

Sensei에 대한 자세한 정보


목차

PDF 다운로드
리소스 보기
더 알고 싶으신가요?

Alan Richardson은 20년 이상의 전문 IT 경험을 보유하고 있으며, 개발자로 일하며 테스터부터 테스트 책임자까지 모든 수준의 테스트 계층 구조에서 일하고 있습니다. 개발자 관계 책임자 Secure Code Warrior 그는 팀과 직접 협력하여 품질 보안 코드 의 개발을 개선합니다. 앨런은 "친애하는 악테터", "테스터를위한 자바"를 포함하여 네 권의 책의 저자입니다. 앨런은 또한 온라인 교육을 만들었습니다 courses 사람들이 자바와 기술 웹 테스트 및 셀레늄 웹 드라이버를 배울 수 있도록. 앨런은 SeleniumSimplified.com, EvilTester.com, JavaForTesters.com, CompendiumDev.co.uk 자신의 글과 트레이닝 비디오를 게시합니다.

더 알아보세요

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.

데모 예약하기다운로드
공유하기:
링크드인 브랜드사회적x 로고
자원 센터

시작하기 위한 자료

더 많은 게시물
자원 센터

시작하기 위한 자료

더 많은 게시물