Mejora de velocidad en GitHub Actions mediante caché local
(github.com/corca-ai)Muchas personas usan GitHub Action en GitHub para ejecutar pipelines de CI/CD. Para lograr builds rápidas, se usa mucho la caché, y al principio no hay grandes problemas; pero cuando el servicio crece o aumenta la cantidad de ramas, la caché deja de funcionar y todo se vuelve a compilar cada vez, por lo que la velocidad empieza a disminuir. Esto se debe a que la caché predeterminada de GitHub Actions tiene un límite de tamaño de 10 GB.
Para resolver este problema, desarrollamos un paquete que permite hacer caché localmente en un self-hosted runner.
- name: Cache node dependencies
id: node-cache
uses: corca-ai/local-cache@v2
with:
path: node_modules
key: node-${{ hashFiles(‘yarn.lock’) }}
clean-key: node-
en lugar de usar un github-hosted runner, se puede usar un self-hosted runner, y basta con cambiar la parte de uses de la caché existente a corca-ai/local-cache para empezar a usarlo de inmediato.
Desaparece la limitación de tamaño de la caché y, mientras que la caché anterior cargaba los archivos de caché a través de la red, la caché local los carga directamente desde el disco, por lo que la velocidad de caché mejora de forma drástica. En nuestro caso, percibimos una mejora de velocidad de más de 5 veces.
1 comentarios
Hay algo similar: maxnowack/local-cache.