Para mejorar la eficiencia de tu flujo de trabajo de desarrollo local y evitar tener que volver a compilar, implementar y reiniciar tus Pods, Skaffold admite la copia de archivos modificados en un contenedor implementado. Esto significa que, cuando realices cambios en archivos de código fuente estáticos y de código fuente, podrás ver que estos se aplican en cuestión de segundos, lo que genera un ciclo de reacción acelerado.
En el caso de los archivos estáticos (como archivos HTML y CSS), el comportamiento de copia de archivos se denomina sincronización de archivos.
En el caso de los archivos de código fuente, este comportamiento se denomina recarga en caliente y funciona para los siguientes tipos de archivos:
- Go: *.go
- Java: *.java, *.kt, *.scala, *.groovy, *.clj
- NodeJS: *.js, *.mjs, *.coffee, *.litcoffee, *.json
Con la recarga en caliente configurada, Skaffold detecta cambios en los archivos compatibles y los sincroniza con el contenedor en ejecución en tu clúster, lo que evita la necesidad de volver a compilar una imagen engorrosa y reiniciar el Pod. Sin embargo, los cambios en otros tipos de archivos activan una recompilación de imagen.
La sincronización automática de archivos y la recarga en caliente están habilitadas de forma predeterminada cuando trabajas con Buildpacks como tu compilador preferido. Para otros compiladores como Docker, puedes especificar una sección sync
en tu skaffold.yaml
para el artefacto que personalizas.
La configuración de sincronización puede ser una de las siguientes opciones (en orden de preferencia):
auto
(solo para artefactos de Jib y Buildpacks)infer
manual
Si especificaras una sincronización de manual
para sincronizar todos los archivos HTML /static-html
en la carpeta static
del contenedor, skaffold.yaml
contendrá esta sección sync
:
build:
artifacts:
- image: gcr.io/k8s-skaffold/node-example
context: node
sync:
manual:
- src: 'static-html/*.html'
dest: static
Para obtener una descripción detallada de la sincronización de archivos y especificar reglas de sincronización, consulta la guía de Skaffold sobre la sincronización de archivos.