diff --git a/app/models/deploy_local.rb b/app/models/deploy_local.rb index ec583bb0..b5a15cfe 100644 --- a/app/models/deploy_local.rb +++ b/app/models/deploy_local.rb @@ -7,6 +7,18 @@ class DeployLocal < Deploy before_destroy :remove_destination! + def git_lfs(output: false) + run %(git lfs fetch), output: output + run %(git lfs checkout), output: output + end + + def bundle(output: false) + # XXX: Desde que ya no compartimos el directorio de gemas, tenemos + # que hacer limpieza después de instalar. + + run %(bundle install --deployment --no-cache --path="#{site.bundle_path}" --clean --without test development), output: output + end + # Realizamos la construcción del sitio usando Jekyll y un entorno # limpio para no pasarle secretos # @@ -121,11 +133,6 @@ class DeployLocal < Deploy run 'pnpm install --production', output: output end - def git_lfs(output: false) - run %(git lfs fetch), output: output - run %(git lfs checkout), output: output - end - def gem(output: false) run %(gem install bundler --no-document), output: output end @@ -137,13 +144,6 @@ class DeployLocal < Deploy run 'yarn install --production', output: output end - def bundle(output: false) - # XXX: Desde que ya no compartimos el directorio de gemas, tenemos - # que hacer limpieza después de instalar. - - run %(bundle install --deployment --no-cache --path="#{site.bundle_path}" --clean --without test development), output: output - end - def jekyll_build(output: false) run %(bundle exec jekyll build --trace --profile --destination "#{escaped_destination}"), output: output end diff --git a/app/models/site.rb b/app/models/site.rb index eda37905..cd2385c5 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -558,10 +558,11 @@ class Site < ApplicationRecord def install_gems return unless persisted? - deploys.find_by_type('DeployLocal').send(:git_lfs) + deploy_local = deploys.find_by_type('DeployLocal') + deploy_local.git_lfs if !gem_dir? || gemfile_updated? || gemfile_lock_updated? - deploys.find_by_type('DeployLocal').send(:bundle) + deploy_local.bundle touch end end