Deploy Express(Typescript) 到 Fly.io
今天無聊把之前自己的作業後端移動到 fly.io 上,但遇到了幾個問題,順便分享出來怎麼將 typescript 版本的 node.js 部署到fly.io。
流程
- 先建立 fly.io 要的檔案
- 設定 dockerfile
- 部屬專案
建立 fly.io 要的設定檔
建立設定檔之前我們需要先在本地登入 fly.io 帳號
使用指令 flyctl auth login
完成後在執行flyctl launch
這樣就會出現我們要的 dockerfile
總共會出現三個檔案,我們只要編輯 Dockerfile 就好了
接下來我們要改寫Dockerfile
詳細的初始部屬方式可以參考這一篇
設定 dockerfile
這是我自己嘗試後可以用的版本
裡面主要就是
- 安裝 npm
- 執行 npm install
部屬專案
設定完了之後我們就可以部屬專案到fly.io上面了
這邊部屬前要注意,先在本地執行tsc
指令
不然會出現下面的錯誤
執行完 tsc
指令,幫我們產生 js 檔後我們就可以執行 fly deploy
來部屬到 fly.io 上。
這樣我們就可以在fly.io上看到我們的 express server 了。