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 ?
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
Commentaire le plus utile
Juste un avertissement que la bonne variable d'environnement est :
force_asset_precompile=true