Desplegament d'aplicacions NodeJS amb Railway.app

https://railway.app és un PaaS (Platform as a Service), una plataforma de desplegament d'aplicacions similar a https://heroku.com. Aquest ha estat el referent durant molts anys però a finals de 2022 ha abandonat la seva política de permetre aplicacions gratuïtes expulsant a molts desenvolupadors novells que cerquen alternatives com aquesta.

, , , , , , , , , , , ,

Crear app vinculada a un repo de Github

Primer de tot crearem un projecte nou en local i el pujarem a Github:

  1. Crear nou projecte en local seguint nodejs_express.
  2. Pujar el projecte a Github.

Per desplegar el projecte:

  1. Crear compte a https://railway.app i vincular-la al teu compte de Github.
  2. Crear un nova app a railway.app , i vincular-la al repositori on haguem posat la nostra app.
  3. Si hem seguit nodejs_express és molt fàcil que el deploy no funcioni directament, cal fer un parell de canvis:
    1. Disposar d'un script de start. Solució ràpida per a NodeJS:
      package.json
      {
        ...
        "scripts": {
          "test": "echo \"Error: no test specified\" && exit 1",
          "start": "node app.js"
        },
        ...
      }
    2. Publicar el servei NodeJS al port adequat on railway.app ens escolta.
  4. Finalment caldrà vincular-ho a un domini, podem començar per publicar a un del propi railway.app
    1. Anem al Dashboard de la nostra app.
    2. Cliquem la nostra connexió a Github
    3. Anem a
      Settings -> Domain -> Generate Domain
    4. Cliquem i… voilà!
  5. Conforme vagis fent git push a la branca principal (main) de Github, el codi es desplegarà automàticament a railway.app

Teniu el meu helloworld a: