Capistrano e la distribuzione di un sito web da Github
-
26-09-2019 - |
Domanda
Quindi, ho avuto quello che ho pensato che era abbastanza semplice caso d'uso Capistrano: voglio distribuire un sito PHP da Github. Ma sono in esecuzione in un sacco di problemi. Quando eseguo cap deploy
, Capistrano è in grado di clonare il repo GitHub (il passo deploy:update_code
), ma poi nel passo deploy:finalize_update
dice
executing "rm -rf /var/www/sitename.com/releases/20100611144519/log /var/www/sitename.com/releases/20100611144519/public/system /var/www/sitename.com/releases/20100611144519/tmp/pids &&\\\n mkdir -p /var/www/sitename.com/releases/20100611144519/public &&\\\n mkdir -p /var/www/sitename.com/releases/20100611144519/tmp &&\\\n ln -s /var/www/sitename.com/shared/log /var/www/sitename.com/releases/20100611144519/log &&\\\n ln -s /var/www/sitename.com/shared/system /var/www/sitename.com/releases/20100611144519/public/system &&\\\n ln -s /var/www/sitename.com/shared/pids /var/www/sitename.com/releases/20100611144519/tmp/pids"
seguito da
executing "find /var/www/sitename.com/releases/20100611144519/public/images /var/www/sitename.com/releases/20100611144519/public/stylesheets /var/www/sitename.com/releases/20100611144519/public/javascripts -exec touch -t 201006111445.23 {} ';'; true"
Io non capisco cosa sta succedendo qui. E poi dà un errore:
*** [err :: sitename.com] find: `/var/www/sitename.com/releases/20100611144519/public/images': No such file or directory
e un altro errore per ognuna delle directory stylesheets
e javascripts
.
Che cosa sta succedendo? Mi rendo conto che Capistrano è in primo luogo per la distribuzione Rails e altre applicazioni di Ruby, ma sto usando il Capistrano-php gemma. Apprezzerei qualsiasi aiuto.
Soluzione
comportamento predefinito Capistrano è quello di 'tocco' tutti i file di attività. (Per fare in modo che qualsiasi cache di ottenere la data di distribuzione). Le attività sono immagini, fogli di stile, ecc.
Se l'applicazione PHP non utilizza queste directory, Capistrano si lamenta in modo così brutto.
Per disabilitare risorsa timestamp aggiornamenti, è sufficiente aggiungere:
set :normalize_asset_timestamps, false
al tuo deploy.rb