2015-10-07 2 views
0

J'utilise les commandes suivantes pour télécharger des fichiers sur le Cloud Storage de Google. Ces commandes gzip HTML, CSS et JS puis définissent les en-têtes expire à 6 mois sur CSS, JS et images.La compression et le paramétrage expirent les en-têtes sur Google Cloud Storage

gsutil -m cp -z "html,css,js" -r dist/** gs://bucket/ 
gsutil -m setmeta -h "Cache-Control: public, max-age=15552000" gs://bucket/**/*.css 
gsutil -m setmeta -h "Cache-Control: public, max-age=15552000" gs://bucket/**/*.js 
gsutil -m setmeta -h "Cache-Control: public, max-age=15552000" gs://bucket/**/*.gif 
gsutil -m setmeta -h "Cache-Control: public, max-age=15552000" gs://bucket/**/*.png 
gsutil -m setmeta -h "Cache-Control: public, max-age=15552000" gs://bucket/**/*.jpg 

Est-il possible de simplifier cela à une ou deux commandes?

Répondre

0

La commande cp accepte les arguments -h pour les métadonnées valides. Donc, vous devriez être en mesure de le faire:

gsutil -m -h "Cache-Control: public, max-age=15552000" cp -z "html,css,js" -r dist/** gs://bucket/

Notez que le -h vient avant la commande cp.

+0

J'ai fini par utiliser ce qui suit puisque je ne veux pas que le futur soit expiré et que les en-têtes soient définis sur mon HTML et mes images. https://gist.github.com/mraible/0cca15e8340135121f9b –

+0

Ah, désolé j'ai manqué que vous vouliez appliquer les en-têtes dans un mode mixte. Votre code semble bon. –