Home Railway 使用示範
Post
Cancel

Railway 使用示範

Railway 是啥 ?

鐵路 ? Railway 是一個現代化的雲端平台,專注於簡化應用程式和服務的部署與管理,讓開發者能夠快速將專案從本地環境推送到線上運行。它支援多種語言和框架,包括 Node.jsPythonGo 以及前端框架如 Nuxt.js

Railway 的主要特色包括:

零配置部署:利用內建的 Nixpacks 自動偵測專案類型並完成建置與部署,開發者無需撰寫複雜的 DockerfileCI/CD 腳本。

GitHub 直接部署:可連結 GitHub 倉庫,透過點擊即可自動部署最新程式碼,方便持續整合與持續部署(CI/CD)。

多種部署方式:支援從本地命令行 (railway up) 或 GitHub Repo 部署 Nuxt 等應用。

免費且彈性的資源配額:提供免費層級,適合個人專案或小型應用,且相較於其他平台如 VercelRailway 價格較親民。

內建日誌與監控:方便開發者追蹤應用狀態和錯誤,提升除錯效率。

支援全棧應用:不僅能部署前端框架(如 Nuxt),也能同時管理後端 API、資料庫等服務,適合全棧開發。

Desktop View

全端部屬示範

以下我們就來部屬 DB 及操作這個 DB 的後端,再加上前端

部屬 DB

超級簡單 !!!

Desktop View

Desktop View

Desktop View

看一下 Setting 部分,這邊的 url , 就是之後後端要連的 db 位置。

Desktop View

這種透過 db public url 的串接方式好像不太好,railway 有提供更好內部的串接方式。 但我們這邊先串通就好,日後優化日後再說。

Desktop View

部屬後端

接著部屬我們的後端,我覺得最快速、最不容易錯誤的方式,就是參考 railway 提供的 template

Desktop View

Desktop View

找到 github 連結

Desktop View

找到 github 上對應 repo, 把自己需要的檔案複製到自己的專案。 ex: railway.json

把後端專案中,db 的位置改成上面的 db public url

Desktop View

這邊我們省略 railway 到 github oauth 的流程。

特別想說: 因為前面我們使用 db public url 的方式串接,所以我們可以在本地使用 Alembic 去更新 db 的 schema

即使你在 container 內開發也一樣,都可以直接更新上一個步驟建好的 db

做完 alembic update 後可以去看一下自己開出來 db 的狀態

Desktop View

部屬前端

我們一樣從人家的 template 去看,這次我們選 nginx 的 template,

Desktop View

找到對應的 template,copy 自己需要的部分,前端部分比較簡單,反正就是你 build 出的 dist 的那邊放到某個資料夾,

以下面為例,就是全部放在 site 資料夾下。

Desktop View

心得

到這邊不得不靠X Google 一下了,一樣是部屬,為什麼 Google Cloud 可以搞得這麼困難,

人家 railway 簡單明瞭,好操作。非常推薦大家用 !!!!

Railway

可以使用我的推薦碼喔!非常感謝!

☝ツ☝

This post is licensed under CC BY 4.0 by the author.

👈 ツ 👍