Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

730
Visualizações
Hacer que Gitlab Runner use node_modules como un artefacto en lugar de en caché

De acuerdo con la Documentación de GitLab para caché frente a artefactos, los node_modules deben almacenarse como caché en lugar de un artefacto. El problema con esto es que si hay varios corredores y un corredor diferente del que creó la "compilación" selecciona un trabajo, entonces el caché ( node_modules ) no existirá, lo que fallará en el GitLab CI aleatoriamente (si el mismo corredor pasa a hacer el resto de los trabajos entonces tendrá éxito).

Podría hacerlo para que todo se haga en un solo trabajo, pero una vez que tenga que implementarlo, este problema volverá a ocurrir. Otra opción es etiquetarlo para que solo un corredor específico complete el trabajo, pero siento que eso es lento.

Después de investigar, me di cuenta de que podía poner node_modules como un artefacto en lugar del caché y se recuperará sin importar qué corredor ejecute el trabajo, pero no puedo encontrar ninguna documentación sobre si esto es malo o no.

Entonces, ¿está bien poner node_modules como un artefacto? Si es así, ¿por qué la gente no lo pondría como un artefacto normalmente (suponiendo que agreguen un vencimiento)?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La respuesta corta aquí es que puede usar la herramienta como quiera. Absolutamente puede usar artefactos para node_modules. Sin embargo, también hay una manera de hacer que el caché funcione.

De forma predeterminada, cuando un ejecutor almacena en caché un archivo o directorio, lo almacena localmente en el host que ejecuta ese ejecutor (por lo que no está disponible en otros ejecutores). Sin embargo, en la configuración del corredor, puede cambiar esto para almacenar objetos en caché en AWS S3 o un repositorio similar a S3 (como Minio). Si todos los ejecutores están configurados de esta manera, o al menos 2 lo están, entonces esos ejecutores también pueden usar los mismos elementos almacenados en caché.

Puede leer sobre las opciones de configuración de caché del corredor aquí: https://docs.gitlab.com/runner/configuration/advanced-configuration.html#the-runnerscache-section

Puede leer sobre Minio (una solución de almacenamiento de código abierto que proporciona una interfaz API S3) aquí: https://docs.min.io/

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda