Как расширить регулярное выражение, чтобы исключить все файлы в папке? - PullRequest
11 голосов
/ 17 января 2012

В файле app.yaml моего проекта Google App Engine есть раздел skip_files, используемый для исключения загрузки файлов указанных типов.Как расширить это регулярное выражение, чтобы исключить загрузку всего каталога gaeunit?

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

Ответы [ 3 ]

13 голосов
/ 17 января 2012

Точно так же, как каталоги nbproject и darcs исключаются из приведенного выше регулярного выражения. Добавьте эту строку в любом месте перед последней строкой:

(gaeunit/.*)|
6 голосов
/ 24 октября 2013

мой app.yaml выглядит так:

skip_files:
- ^(.*/)?#.*#
- ^(.*/)?.*~
- ^(.*/)?.*\.py[co]
- ^(.*/)?.*/RCS/.*
- ^(.*/)?\..*
- ^(statistics/.*)
- ^(unittests/.*)
- ^(webtests/.*)
2 голосов
/ 12 февраля 2018

С новым приложением (на момент написания статьи) вы можете просто поставить имя каталога с завершающей косой чертой (как указано в app.yaml docs )

Таким образом, ваше приложение.yaml может выглядеть так: skip_files: - node_modules/ - ^(.*/)?app\.yaml - ^(.*/)?app\.yml - ^(.*/)?index\.yaml - ^(.*/)?index\.yml ...

Однако при попытке игнорировать огромный каталог, такой как node_modules, вам будет проще иметь дело со следующим: (- ^node_modules/*.*).Это решение напечатает одно красивое сообщение, например INFO: Ignoring directory [node_modules]: Directory matches ignore regex., при развертывании с gcloud app deploy.

К сожалению, gcloud app deploy все равно локально скопирует все файлы в каталоге развертывания в /var/folders/..., даже если вы проигнорировали некоторыекаталоги / файлы.Эти файлы не будут загружены в Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...