Cómo ejecutar compilaciones de acciones de Github en sus propios servidores con ejecutores autohospedados

Las acciones de Github son canalizaciones de automatización que se pueden usar para ejecutar pruebas y compilaciones de CI. Se ejecuta en la nube a través de los servidores de Github, pero en algunos casos, como la compilación intensiva de código, es posible que prefiera ejecutarlos en sus propios nodos de trabajo dedicados.

Índice de contenidos
  1. ¿Por qué utilizar corredores autohospedados?
  2. Configuración de un ejecutor autohospedado

¿Por qué utilizar corredores autohospedados?

Uno de los principales beneficios de Github Actions es que es gratuito y está muy bien integrado en el sistema de Github. Hacer nuevas confirmaciones o etiquetas de lanzamiento activará directamente una canalización de acción si lo configura para hacerlo.

Las acciones de Github se facturan en "minutos" y los repositorios públicos de código abierto tienen una cantidad ilimitada de minutos. Sin embargo, si está trabajando en un repositorio privado, solo tendrá 2000 o 3000 con los planes Github Pro o Teams. Puede comprar más minutos directamente o actualizar a Github Enterprise, que viene con 50,000.

Sin embargo, Github también admite la capacidad de hospedar automáticamente la máquina que ejecuta la canalización. Puede usar cualquier tipo de máquina como ejecutor autohospedado, incluidas máquinas locales, servidores dedicados o instancias de VPS en la nube. Esto puede ser bastante útil, especialmente si tiene hardware de repuesto por ahí.

Esto tiene una serie de beneficios más allá del ahorro de costos para cargas de trabajo de alta actividad. A menudo, la compilación de código puede ser una tarea muy intensa. Si bien las compilaciones de Github Actions no son necesariamente lentas, todavía se ejecutan en computación en la nube compartida, por lo que puede beneficiarle ejecutar la compilación en un servidor dedicado de alto rendimiento. Lo mismo ocurre con las aplicaciones que hacen un uso intensivo de la memoria y que pueden necesitar mucha RAM para finalizar.

Además del rendimiento, el alojamiento propio también le permite controlar el entorno de la compilación. Tal vez necesite integrarse con servidores o software locales, o necesite ejecutar un sistema operativo que no esté disponible con los ejecutores predeterminados de Github (es compatible con Linux, Windows y macOS, pero no con compilaciones específicas de Linux además de Ubuntu).

Configuración de un ejecutor autohospedado

Configurar un corredor es bastante simple. Básicamente, deberá instalar el software de ejecución en su máquina y conectarlo a Github. Una vez que esté disponible, puede configurar ciertas acciones de Github para usar su corredor autohospedado en lugar de los predeterminados.

Puede agregar corredores a un repositorio específico o agregarlos a una organización de Github. Agregarlos en toda la organización generalmente es mucho más útil, pero la configuración para cualquiera de ellos es la misma.

Diríjase a la configuración de su organización y, en Acciones> Corredores, agregue un nuevo corredor.

Github proporciona pasos para configurar e instalar el corredor aquí. Puede copiar y pegar estos comandos, pero también puede usar una imagen de Docker si prefiere ejecutarlo de esa manera.

La siguiente sección te hace vincularlo con Github. Esto utiliza un token generado para que pueda acceder a su cuenta y verificar al corredor.

./config.sh --url https://github.com/Organization --token XXXXXX

Puede elegir en esta pantalla el nombre del corredor, el grupo al que está asignado y cualquier etiqueta asociada con él. Estos se pueden usar para filtrar ejecutores en configuraciones de acción.

Luego, deberá iniciar el ejecutor. Probablemente querrá ejecutar esto bajo tmux o configurar un servicio para ejecutarlo automáticamente.

RELACIONADOS: Cómo agregar sus propios servicios a systemd para una administración más fácil

./run.sh

Si está utilizando un repositorio público, la capacidad de usar ejecutores autohospedados está deshabilitada de manera predeterminada. Esto se debe a que ejecutar compilaciones en su propio hardware es un riesgo potencial de seguridad si está ejecutando compilaciones para solicitudes de extracción de terceros. Si no está realizando compilaciones de solicitud de incorporación de cambios, no hay problema y puede activarlo desde la configuración predeterminada del "Grupo de ejecución".

Entonces, puedes usar el self-hosted etiqueta para hacer que las compilaciones se ejecuten en este corredor.

El corredor debe recogerlo casi inmediatamente.

Descubre más contenido

Subir Change privacy settings