Configuración de exclusiones de archivos de empaquetado de servicios

Azure Developer CLI (azd) permite agregar archivos de omisión en las plantillas que especifican archivos y directorios que se excluirán del paquete de implementación para App Service y Function Apps. Esta característica proporciona un control pormenorizado a nivel de servicio sobre cuáles archivos se incluyen en el proceso de empaquetado.

Descripción de los archivos de omisión del empaquetado de servicios

Hay dos tipos diferentes de archivos de omisión que puede usar para influir en el proceso de empaquetado:

  • .webappignore influye en las exclusiones de empaquetado para las implementaciones de App de Azure Service.
  • .funcignore influye en las exclusiones de empaquetado para las implementaciones de Azure Functions.

Estos archivos de omisión se aplican en función del servicio de implementación de destino, lo que garantiza que los usuarios puedan personalizar de forma independiente las exclusiones de archivos al empaquetar para App de Azure Service y Azure Functions. Ambos tipos de archivos de omisión de empaquetado siguen estas reglas:

  • Los archivos .webappignore o .funcignore deben colocarse en la carpeta raíz del servicio correspondiente en la plantilla azd.
  • Si existe un archivo .webappignore o .funcignore en un directorio de servicio, el proceso de empaquetado sigue sus reglas, lo que permite un control pormenorizado sobre qué archivos se incluyen o excluyen en el archivo zip del servicio.
  • Si no hay ningún archivo .webappignore o .funcignore, se aplican exclusiones predeterminadas:
    • Python: __pycache__ y cualquier archivo venv
    • Node.js: node_modules
  • La sintaxis de los archivos de omisión sigue la sintaxis estándar de gitignore. Por ejemplo, use el símbolo ! para revertir una exclusión.

Ejemplos de exclusión

En la plantilla azd, agregue un archivo .webappignore o .funcignore a la carpeta raíz del servicio que va a implementar en Azure App Service o Azure Functions. Actualice el contenido de esos archivos de omisión para incluir o excluir archivos mediante los siguientes patrones:

Excluir una carpeta o un archivo específico:

logs/*
testfile.js

Excluir carpetas o archivos que se omiten de forma predeterminada cuando el .webappignore archivo o .funcignore no está presente:

node_modules/