En aquesta secció, aprendrem com desplegar una aplicació Ruby on Rails en un entorn de producció. El desplegament és el procés de posar la teva aplicació en un servidor perquè els usuaris finals puguin accedir-hi. Hi ha diverses opcions per desplegar aplicacions Rails, però en aquest curs ens centrarem en una de les més populars: Heroku.
- Preparació per al Desplegament
1.1. Requisits Previs
Abans de començar, assegura't de tenir els següents elements configurats:
- Un compte a Heroku.
- Git instal·lat al teu sistema.
- La teva aplicació Rails en un repositori Git.
1.2. Instal·lació de l'Heroku CLI
L'Heroku CLI (Command Line Interface) és una eina que et permet gestionar les teves aplicacions Heroku des de la línia de comandes. Pots instal·lar-la seguint les instruccions a Heroku CLI.
# Per instal·lar Heroku CLI en macOS brew tap heroku/brew && brew install heroku # Per instal·lar Heroku CLI en Ubuntu curl https://cli-assets.heroku.com/install-ubuntu.sh | sh
- Desplegant a Heroku
2.1. Creació d'una Aplicació Heroku
Un cop tinguis l'Heroku CLI instal·lat, pots crear una nova aplicació Heroku.
# Autentica't a Heroku heroku login # Crea una nova aplicació Heroku heroku create nom-de-la-teva-aplicacio
2.2. Configuració del Fitxer Gemfile
Assegura't que el teu Gemfile
inclogui les gemmes necessàries per a producció. Per exemple, la gem pg
per a PostgreSQL, que és la base de dades per defecte a Heroku.
2.3. Configuració de la Base de Dades
Heroku utilitza PostgreSQL per defecte. Assegura't que la teva aplicació està configurada per utilitzar PostgreSQL en producció.
# config/database.yml production: adapter: postgresql encoding: unicode pool: 5 database: <%= ENV['DATABASE_URL'] %>
2.4. Desplegament de l'Aplicació
Un cop tot estigui configurat, pots desplegar la teva aplicació a Heroku.
# Afegeix els canvis al repositori Git git add . git commit -m "Preparant per al desplegament a Heroku" # Desplega a Heroku git push heroku main
2.5. Migració de la Base de Dades
Després de desplegar l'aplicació, necessitaràs executar les migracions de la base de dades.
- Configuració Addicional
3.1. Variables d'Entorn
Heroku utilitza variables d'entorn per a la configuració de l'aplicació. Pots establir variables d'entorn utilitzant l'Heroku CLI.
3.2. Monitorització i Escalabilitat
Heroku ofereix eines per monitoritzar i escalar la teva aplicació. Pots afegir add-ons per a monitorització, com New Relic, i escalar la teva aplicació afegint més dynos.
# Afegir un add-on de monitorització heroku addons:create newrelic # Escalar la teva aplicació heroku ps:scale web=2
- Exercici Pràctic
Exercici
Desplega una aplicació Rails simple a Heroku seguint els passos descrits anteriorment. La teva aplicació hauria de tenir una pàgina d'inici que mostri un missatge de benvinguda.
Solució
- Crea una nova aplicació Rails.
- Configura el
Gemfile
idatabase.yml
per a producció. - Crea un repositori Git i puja la teva aplicació.
- Crea una aplicació Heroku i desplega-la.
- Executa les migracions de la base de dades.
- Verifica que la teva aplicació està funcionant correctament a Heroku.
Conclusió
En aquesta secció, hem après com desplegar una aplicació Ruby on Rails a Heroku. Hem cobert els passos necessaris per preparar la teva aplicació, crear una aplicació Heroku, configurar la base de dades, desplegar l'aplicació i executar les migracions. També hem vist com configurar variables d'entorn i utilitzar eines de monitorització i escalabilitat. Amb aquests coneixements, estàs preparat per posar la teva aplicació Rails en producció i fer-la accessible als usuaris finals.
Curs de Programació en Ruby
Mòdul 1: Introducció a Ruby
Mòdul 2: Conceptes Bàsics de Ruby
Mòdul 3: Treballant amb Col·leccions
Mòdul 4: Programació Orientada a Objectes en Ruby
- Classes i Objectes
- Variables i Mètodes d'Instància
- Variables i Mètodes de Classe
- Herència
- Mòduls i Mixins
Mòdul 5: Conceptes Avançats de Ruby
- Blocs, Procs i Lambdas
- Metaprogramació
- Gestió d'Excepcions
- Entrada/Sortida de Fitxers
- Expressions Regulars
Mòdul 6: Introducció a Ruby on Rails
- Què és Ruby on Rails?
- Configuració de l'Entorn Rails
- Creació d'una Aplicació Simple en Rails
- Arquitectura MVC
- Rutes
Mòdul 7: Proves en Ruby
- Introducció a les Proves
- Proves Unitàries amb Minitest
- Desenvolupament Basat en Comportament amb RSpec
- Mocking i Stubbing
Mòdul 8: Millors Pràctiques en Ruby
- Estil de Codi i Convencions
- Refactorització
- Optimització del Rendiment
- Millors Pràctiques de Seguretat