2012-01-17 25 views
10

En el archivo app.yaml de mi proyecto de Google App Engine hay una sección skip_files que se usa para excluir archivos de tipos determinados de la carga. ¿Cómo extiendo esta expresión regular para excluir todo el directorio gaeunit de la carga?¿Cómo extiendo una expresión regular para excluir todos los archivos en una carpeta?

skip_files: | 
    ^(.*/)?(
    (app\.yaml)| 
    (index\.yaml)| 
    (\..*)| 
    (.*\.pyc)| 
    (.*\.bat)| 
    (.*\.psd)| 
    (Thumbs.db)| 
    (.*\.svn/.*)| 
    (.*\.lnk)| 
    (.*\.datastore)| 
    (_darcs/.*)| 
    (nbproject/.*)| 
    (.*\.swp)| 
    (.*\.log)| 
    )$ 

Respuesta

13

De la misma manera los nbproject y darcs directorios están excluidos en la expresión regular anterior. Añadir esta línea en cualquier lugar antes de la última línea:

(gaeunit/.*)| 
+0

Gracias Nick. Perfecto. – Chris

6

mi app.yaml se parece a esto:

skip_files: 
- ^(.*/)?#.*# 
- ^(.*/)?.*~ 
- ^(.*/)?.*\.py[co] 
- ^(.*/)?.*/RCS/.* 
- ^(.*/)?\..* 
- ^(statistics/.*) 
- ^(unittests/.*) 
- ^(webtests/.*) 
+0

¿por qué '()' 's? – sweaver2112

+0

No estoy seguro si son necesarios. –

+0

bueno, no para los últimos 3, de todos modos. – sweaver2112

0

Con una nueva aplicación (a partir de este escrito) puede simplemente poner el nombre de directorio con una barra final (como se indica por el app.yaml docs)

Así que su app.yaml podría ser: skip_files: - node_modules/ - ^(.*/)?app\.yaml - ^(.*/)?app\.yml - ^(.*/)?index\.yaml - ^(.*/)?index\.yml ...

Sin embargo, cuando se trata de ig nore es un directorio enorme como node_modules, encontrará lo siguiente más fácil de tratar: (- ^node_modules/*.*). Esta solución imprimirá un único y agradable mensaje como INFO: Ignoring directory [node_modules]: Directory matches ignore regex. al implementar con gcloud app deploy.

Desafortunadamente gcloud app deploy todavía copiará localmente todos los archivos en el directorio de implementación al /var/folders/... aunque haya ignorado ciertos directorios/archivos. Esos archivos no se subirán a Google.

Cuestiones relacionadas