Aunque los ejecutores de GitHub Actions cubren un rango amplio de los entornos de ejecuci¨®n m¨¢s comunes y son los m¨¢s r¨¢pidos para empezar, a veces los equipos necesitan administrar ejecutores autoalojados, como cuando la pol¨ªtica de la organizaci¨®n solo permite despliegues a infraestructura alojada de forma privada desde dentro del per¨ªmetro de seguridad de la propia organizaci¨®n. En tales casos, los equipos pueden utilizar ** de Philips**, un m¨®dulo de Terraform que inicia ejecutores personalizados en instancias de spot de EC2 de AWS. El m¨®dulo tambi¨¦n crea un conjunto de funciones Lambda que maneja la gesti¨®n del ciclo de vida (escalabilidad hacia arriba y hacia abajo) para estos ejecutores. Seg¨²n nuestra experiencia, esta herramienta simplifica enormemente el aprovisionamiento y gesti¨®n de ejecutores de GitHub Actions auto-alojados. Una alternativa para los equipos que usan Kubenentes es actions-runner-controller.
Aunque los ejecutores de GitHub Actions cubren una amplia gama de los entornos de ejecuci¨®n m¨¢s comunes, a veces se necesita algo m¨¢s espec¨ªfico para casos particulares, como un entorno de ejecuci¨®n de un lenguaje menos com¨²n o o una configuraci¨®n de hardware espec¨ªfica. En estas situaciones funciona mejor un ejecutor auto alojado. El es un m¨®dulo de Terraform que permite levantar ejecutores personalizados en instancias spot de AWS EC2. Al auto alojar ejecutores se pierde parte de la gesti¨®n del ciclo de vida de GitHub Actions, por lo que el m¨®dulo crea una serie de Lambdas para contrarrestarlo. Tambi¨¦n se encarga de escalar los ejecutores seg¨²n necesidad, lo cual contribuye a gestionar costos y permite que los ejecutores sean ef¨ªmeros, una buena pr¨¢ctica que mejora la repetibilidad y la seguridad. Al auto alojar ejecutores hay muchas cosas que se pueden pasar por alto si se construye de cero, por lo que herramientas como ¨¦sta pueden facilitar la tarea.