Mina: Précompilation des actifs lorsque les modifications ne se produisent que dans les gemmes incluses

Créé le 4 févr. 2016  ·  4Commentaires  ·  Source: mina-deploy/mina

Il semble que mina ne détecte pas les changements d'actifs et saute donc la précompilation lorsque les changements ne se sont produits que dans les gemmes incluses (moteurs Rails).

Jusqu'à présent, nous résolvons cet oubli en forçant la précompilation de manière sélective avec un bloc d'enregistrement de déploiement

deploy do
  if hash.extras.include?("compile")
    invoke :'rails:assets_precompile:force'
  else
    invoke :'rails:assets_precompile'
  end
end

Et courir

mina deploy[compile]

Y a-t-il une configuration à faire pour exposer mina aux changements d'actifs dans les gemmes ou est-ce une fonctionnalité encore à développer ?

Commentaire le plus utile

Juste un avertissement que la bonne variable d'environnement est : force_asset_precompile=true

Tous les 4 commentaires

Si je vous comprends bien, vous devez transmettre certains paramètres à la section de déploiement.

mais vous pouvez toujours le faire de manière régulière :

set :force_precompile, -> { true }

et utilisez ce paramètre plus tard comme vous le décrivez ci-dessus, comme :

deploy do
  if force_precompile
    invoke :'rails:assets_precompile:force'
  else
    invoke :'rails:assets_precompile'
  end
end

Cela a-t-il du sens ?

Codewise - non. Pas besoin de la directive set, car hash.extras contient "compile".
Côté fonctionnalité, oui. Normalement, nous faisons le mina deploy standard qui effectue la précompilation "intelligente" lorsque des modifications d'actifs sont détectées. Malheureusement, il semble que cette détection ne fonctionne pas pour les actifs en gemmes.

vous pouvez utiliser des variables env pour forcer les compilations d'actifs

mina deploy force_assets=true

Juste un avertissement que la bonne variable d'environnement est : force_asset_precompile=true

Cette page vous a été utile?
0 / 5 - 0 notes