Tampaknya mina tidak mendeteksi perubahan aset dan karenanya melewatkan prakompilasi ketika perubahan hanya terjadi pada permata yang disertakan (mesin Rails).
Sejauh ini kami mengatasi pengawasan ini dengan memaksa prakompilasi secara selektif dengan mencentang di blok penyebaran
deploy do
if hash.extras.include?("compile")
invoke :'rails:assets_precompile:force'
else
invoke :'rails:assets_precompile'
end
end
Dan berlari
mina deploy[compile]
Apakah ada konfigurasi yang harus dilakukan untuk mengekspos mina terhadap perubahan aset pada permata atau apakah ini fitur yang belum dikembangkan?
Jika saya memahami Anda dengan benar, Anda harus memberikan beberapa pengaturan ke bagian penerapan.
tetapi Anda selalu bisa melakukannya dengan cara biasa:
set :force_precompile, -> { true }
dan gunakan pengaturan ini nanti seperti yang Anda jelaskan di atas, seperti:
deploy do
if force_precompile
invoke :'rails:assets_precompile:force'
else
invoke :'rails:assets_precompile'
end
end
Apakah itu masuk akal?
Sesuai kode - tidak. Tidak perlu set direktif, karena hash.extras
berisi "kompilasi".
Dari segi fungsionalitas, ya. Biasanya kita melakukan standar mina deploy
yang melakukan prakompilasi "pintar" ketika perubahan aset terdeteksi. Sayangnya sepertinya deteksi ini tidak berfungsi untuk aset di permata.
anda dapat menggunakan variabel env untuk memaksa kompilasi aset
mina deploy force_assets=true
Perlu diketahui bahwa variabel env yang tepat adalah: force_asset_precompile=true
Komentar yang paling membantu
Perlu diketahui bahwa variabel env yang tepat adalah:
force_asset_precompile=true