loading...

▷ GitHub Super Linter: Una linterna para gobernarlas a todas

rosepac profile image Pablo Álvarez Corredera Originally published at ciberninjas.com on ・4 min read

Configurar un nuevo repositorio con todas las linternas correctas para los diferentes tipos de código puede llevar mucho tiempo y ser tedioso.

Se necesitan tantas herramientas y configuraciones que a menudo se requieren más de un lintera para cubrir todos los idiomas utilizados dentro de un solo proyecto de código.

Configurar un nuevo repositorio con todas las linternas correctas para los diferentes tipos de código puede llevar mucho tiempo y ser tedioso. Github Super Linter es la solución perfecta para eso.

GitHub Super Linter fue construido por el equipo de ingenieros de GitHub Servicios DevOps para intentar tapar ese problema, y ahora pasa a ser de código abierto.

¿Qué es Github Super Lint?

Super Linter es un repositorio de código fuente que está empaquetado en un contenedor Docker y llamado por GitHub Actions.

Esto permite que cualquier repositorio en GitHub.com llame al Super Linter y comience a utilizar sus beneficios.

El Super Linter admitirá actualmente muchos idiomas y más en el futuro; por ahora:

  • Ansible, CSS, CoffeeScrip, Dockerfile, Golang, JavaScript, JSON, Markdown, Perl, Python3, Ruby, Shell, Terraform, TypeScript, XML, YAML y ENV.

¿Cómo funciona Github Super Lint?

Cuando hayas configurado tu repositorio para comenzar a ejecutar esta acción, cada vez que abras una solicitud de extracción, comenzarás a alinear el commit del código y regresará a través de la API de estado.

Posteriormente, se te informará si alguno de los cambios del código se realizó con éxito o si se detectaron errores, dónde están y cuáles son.

Esto te va a permitir regresar al punto del error, solucionar cualquier problema encontrado y crear un nuevo “commit” a la solicitud de extracción abierta con anterioridad.

En este punto, la “Super Linterna de Github” se ejecutará nuevamente y validará el código actualizado, repitiendo nuevamente el proceso.

Además, como una medida adicional, puedes configurar las reglas de protección de la rama para asegurarte de que el código debe pasar las pruebas a través de la linterna antes de ser fusionadas.

Existen un montón de opciones de personalización a través de banderas de control y de plantillas que pueden ayudarte a personalizar la Super Linterna dentro de tu propio repositorio individual.

Simplemente debes seguir las instrucciones detalladas en el repositorio de la Super Linter y el wiki de la Super Linterna, puedes encontrar los enalces a continuación.

Esta herramienta también puede ser útil para cualquier repositorio donde conviven múltiples tipos de código y / o documentación (monorepositorio).

📂 Repositorio de Github Super Lintern🔠 Wiki Super Lintern🎁 Visita Nuestra Tienda 🎁

Características de Github Super Lint

Super Linter logra resolver muchos problemas a través de la automatización, ofrecienco características como las siguientes:

  • Evita que el código roto se cargue en ramas maestras.
  • Ayuda a establecer las mejores prácticas de codificación con varios idiomas.
  • Crea pautas en el diseño y el formato del código.
  • Automatiza el proceso para ayudar a simplificar las revisiones de código.
  • Con estos criterios básicos, deberíamos enviar un código mejor, más limpio y más estable internamente y a nuestros clientes y socios.

🎁 Visita Nuestra Tienda 🎁

¿Reglas predeterminadas de la super linterna de Github?

La estandarización de un conjunto de reglas en la Super Linterna ha sido un desafío interesante, ya que cada desarrollador es único en su forma de codificar.

Es por ello que permitimos que los usuarios usen las mejores reglas personalizadas para su interfaz concreta. Pero, por si no se definen un conjunto de reglas, se deben establecer unas reglas estándar por defecto para que la linterna sea capaz de funcionar.

Por eso, el conjunto de reglas para Ruby y Rails se extrae de la gema Ruby: rubocop-github y sigue las mismas reglas que usamos en GitHub.com.

Para otros idiomas, elegimos cuál es el valor predeterminado al instalar las linternas que más se suelen usar para cada uno de ellos, como por ejemplo: coffeelint o yamllint.

En otros casos, tratamos de encontrar un término medio que establezca unas simples bases y pueda ayudar a establecer buenas prácticas como: Markdownlinto pylint.

La hermosura de todo esto, es que, desde el primer momento se comenzará a establecer un framework de trabajo común dentro de todo el equipo, y si se necesitará realizar personalizaciones posteriores; nos ofrece una amplia gama de posibilidad de ser implementadas sin demasiado trabajo extra.

Si deseas tener acceso a diferentes plantillas de trabajo, solamente debes ir a la carpeta TEMPLATE del repositorio oficial.

📁 Plantillas predefinidas para la Linterna

Relacionados <!-- omit in toc -->

🎓 Aulas de Github: La automatización de las clases de programación

🥇 ▷ Aprender Git y Github desde cero

🥇 Visual Studio integrado en Github: Codespaces

🎁 Visita Nuestra Tienda 🎁

Posted on Jun 25 by:

rosepac profile

Pablo Álvarez Corredera

@rosepac

I find, read and report everything that can be useful for a programmer or web developer apprentice

Discussion

markdown guide