部署平台新寵兒!教你快速上手 Fly.io !
這篇文章主要記錄部署平台改用 Fly.io 的歷程,會簡單介紹整個部署流程以及曾遇過的問題。
前言
還記得當時在 ASTRO Camp 時,總習慣用 Heroku 作為我的部署平台首選,沒有別的原因——就是因為免費!
不過由於平台官方考量[1],從 2022/10/26 起,Heroku 將開始刪除不活躍的帳號,直到 2022/11/28 將完全停止提供免費方案。
於是大家便開始苦尋下一個替代方案,而其中一個選擇就是這篇要介紹的 Fly.io 啦!
【網站名稱】Fly.io
【網站連結】https://fly.io/
註冊
Fly.io 支援第三方登入功能,所以可以直接透過 Google 或是 GitHub 帳號來註冊。
因為步驟蠻簡單的,所以這部分就先略過囉!
還是有疑問的話,可以在下方留言,如果我幫得上忙的話會盡力回覆的!
註冊完的重點是綁定信用卡!
Fly.io 有提供免費試用,但須先完成信用卡綁定,並且使用預設的 Personal
組織,不要另外自行建立新組織。
計畫選擇 Hobby
,完成後,系統就會自動提供 5 美元的額度到 Personal
組織底下讓你使用,而這個額度是沒有使用期限[2]。
用完額度後系統就會開始按照 Hobby
計畫每個月自動扣款 5 美元,大家可以用免費額度來測試看看這個部署平台是否適合自己的需求~
部署
正如 Fly.io 在官網首頁提及的特色,可以透過簡單的幾個指令就順利將專案部署上去!
1 | > 在 Mac OS 上安裝 flyctl 工具 |
問題處理
在使用這樣的新興平台,難免會遇到各式各種的問題需要解決。而他們家有提供了 Community 這樣的論壇,讓大家可以盡情發問,而這些留下來的問答紀錄就能在緊要關頭時幫上忙!
下面也紀錄了先前苦惱很久的部署問題,希望能幫大家避開地雷~
為什麼我的 Rails 專案總是部署失敗…
每次部署使用 fly deploy
的指令後,總是會出現下面的錯誤訊息:
1 | ✖ release_command failed |
原本以為是錯誤訊息所說,跟 release command
有關,所以一直在研究 Dockerfile
及 fly.toml
設定黨哪裡有問題。
直到找到這篇文章[3]才解決了我的疑惑,原來一直失敗是跟我的 Ruby 版本有關。
因為在起初設定 VM 時,我只有將主機的記憶體大小設定使用 256 MB,而專案使用的 Ruby 版本則是使用 3.3。
根據文章的回答我推測應該是 Ruby 3.3 版在部署時需要較大一些的記憶體容量來去執行,
所以要解決這個問題就是將主機記憶體設定大一些即可。當然,如果要選擇降版至 3.2 也是可行的做法之一。
後來按照文章的建議,選擇將主機記憶體重新設定為 512 MB 後,便能順利部署成功了!
但畢竟當初會選擇將主機記憶體設定為 256 MB 也是因為免費額度的關係,改為設定 512 MB 後就開始被收費了。
如果只是想玩一些測試用的專案,這點就需要注意一下!