qual è il "modo foreman" per comportarsi in modo diverso nella produzione vs sviluppo ? Quello che vogliamo è che Foreman inizi a creare un mucchio di cose in dev, tuttavia nella produzione di heroku non ne abbiamo bisogno per avviare (per esempio) solr.sviluppo foreman vs produzione (rotaie)
risposta
Foreman utilizza gli argomenti per utilizzare un file diverso (-d) e gli argomenti per specificare cosa eseguire. Supporta anche un file .foreman
che consente a quegli argomenti di diventare predefiniti. Vedi http://ddollar.github.com/foreman/ per ulteriori informazioni
Seguo la convenzione;
Procfile
definisce tutti processi.foreman
fissati variabili caposquadra specifici
Sviluppo:
.env
variabili d'ambiente set per ogni sviluppatore.env.example
s default ETS per lo sviluppoforeman start
avvia tutti i processi
Produzione:
heroku config
variabili d'ambiente setheroku ps:scale
accende o si spegne a seconda di quale i processi sono necessari per la produzione
Ecco un esempio da un progetto.
Procfile:
web: bundle exec unicorn_rails -p $PORT -c ./config/unicorn.rb
worker: bundle exec rake jobs:work
search: bundle exec rake sunspot:solr:run
.env.example:
# default S3 bucket
S3_KEY=keykeykeykeykeykey
S3_SECRET=secretsecretsecret
S3_BUCKET=myapp-development
.env
# developer's private S3 bucket
S3_KEY=mememememememememe
S3_SECRET=mysecretmysecret
S3_BUCKET=myapp-development
.foreman:
# development port is 3000
port: 3000
Ho usato prima lo specifico ambiente Procfile
s, che è piuttosto semplice e funziona bene.
In pratica dovete Procfile.development
, Procfile.production
, ecc In ogni è possibile personalizzare le proc si desidera avviare, quindi eseguirli via foreman
in questo modo:
foreman start -f Procfile.development
Un altro approccio è quello di fare riferimento gli script nella vostra Procfile
, e all'interno di ogni script avvia il processo appropriato in base all'ambiente. The creator of Foreman does this e dispone di an example from his Anvil project your reference.
- 1. Node.js - nodemon vs node - sviluppo vs produzione
- 2. Esecuzione di un sito Rails: sviluppo vs produzione
- 3. Produzione mancante secret_key_base in rotaie
- 4. Registro di sviluppo rotaie
- 5. Sicurezza delle rotaie sul server di produzione
- 6. in rotaie qual è la differenza tra la modalità di sviluppo e la modalità di produzione?
- 7. git con rami di sviluppo, produzione e produzione
- 8. rotaie collection_select vs. select
- 9. Rotaie Put vs Post
- 10. UTF-8 problemi rotaie app quando il passaggio alla produzione
- 11. come cambiare le rotaie di modalità di sviluppo
- 12. Messaggi Android - Sviluppo vs Distribuzione
- 13. Xcode - modalità di sviluppo condizionale o produzione
- 14. sviluppo web con rubino senza rotaie?
- 15. git - rimozione log di sviluppo rotaie
- 16. Rotaie attr_accessible: oggetto vs: object_id
- 17. graffetta che funziona nello sviluppo ma non funziona in produzione?
- 18. Come usare Byebug con Sidekiq e Foreman
- 19. Crea DB in ambiente di produzione in rotaie
- 20. AssetNotPrecompiledError quando si utilizza HTML5-rotaie gioiello nella ENV produzione
- 21. Percorsi di rotaie mancanti di impronte digitali in produzione
- 22. Logging in rubino sulle rotaie di Produzione modalità
- 23. Errore di routing dei file statici di produzione delle rotaie
- 24. Test delle pipeline degli asset delle rotaie interruzione della produzione
- 25. Produzione di rotaie - Come impostare la base della chiave segreta?
- 26. Sviluppo di Brownfield vs Greenfield?
- 27. Sviluppo iPhone - CLLocationManager vs. MapKit
- 28. Splunk vs ELK - Gestisci registri di produzione
- 29. Foreman non funziona con NGINX
- 30. Foreman non uccide i processi