檢視原始檔 在 Gigalixir 上部署
我們需要的
我們對這份指南唯一的需求,是一個可用的 Phoenix 應用程式。對於需要部署簡單應用程式的人,請遵循 使用與執行指南。
目標
本指南的主要目標,是讓 Phoenix 應用程式可以在 Gigalixir 上執行。
步驟
讓我們將這個流程分成幾個步驟,這樣我們才能掌握目前的進度。
- 初始化 Git 儲存庫
- 安裝 Gigalixir CLI
- 註冊 Gigalixir
- 建立並設定 Gigalixir 應用程式
- 提供資料庫
- 讓我們的專案為 Gigalixir 準備好
- 部署時間到了!
- 有用的 Gigalixir 指令
初始化 Git 儲存庫
如果還沒的話,我們需要將我們的檔案提交到 git。我們可以在專案目錄中執行下列指令來執行此動作
$ git init
$ git add .
$ git commit -m "Initial commit"
安裝 Gigalixir CLI
遵循 這裡 的說明,為你的平台安裝指令介面。
註冊 Gigalixir
我們可以在 gigalixir.com註冊帳戶,或使用 CLI。讓我們使用 CLI。
$ gigalixir signup
Gigalixir 的免費方案不需要信用卡,並提供 1 個應用程式執行個體和 1 個 PostgreSQL 資料庫,但請考慮如果你執行的是生產應用程式,要升級到付費方案。
接下來,讓我們登入
$ gigalixir login
並驗證
$ gigalixir account
建立並設定我們的 Gigalixir 應用程式
在 Gigalixir 上佈署 Phoenix 應用程式的有三種不同方法:使用 Mix、使用 Elixir 版本或使用 Distillery。本指南將使用 Mix,因為它最容易入門,但是您將無法連接遠端觀察者或進行熱升級。如需更多資訊,請參閱 Mix 與 Distillery 和 Elixir 發行版比較。如果您想使用其他方法佈署,請遵照 入門指南 操作。
建立 Gigalixir 應用程式
讓我們建立一個 Gigalixir 應用程式
$ gigalixir create -n "your_app_name"
請注意:之後將無法變更應用程式名稱。如果您未提供名稱,將使用隨機名稱。
驗證已建立應用程式
$ gigalixir apps
驗證是否已建立 Git 遠端
$ git remote -v
指定版本
我們使用的組建包預設使用相當舊的 Elixir、Erlang 和 Node.js 版本,在開發環境中執行相同的版本通常是比較好的作法,因此讓我們這麼做。
$ echo 'elixir_version=1.14.3' > elixir_buildpack.config
$ echo 'erlang_version=24.3' >> elixir_buildpack.config
$ echo 'node_version=12.16.3' > phoenix_static_buildpack.config
Phoenix v1.6 使用 esbuild
編譯您的資產,然而所有 Gigalixir 映象都內建 npm
,因此我們將直接組態 npm
來佈署我們的資產。如果您尚未擁有任何 assets/package.json
檔案,請新增一個,其中含有下列內容
{
"scripts": {
"deploy": "cd .. && mix assets.deploy && rm -f _build/esbuild*"
}
}
最後,不要忘記提交
$ git add elixir_buildpack.config phoenix_static_buildpack.config assets/package.json
$ git commit -m "Set Elixir, Erlang, and Node version"
讓我們的專案準備好使用 Gigalixir
我們不需要為在 Gigalixir 上執行應用程式執行任何操作,但對於試營運應用程式,您可能想要強制執行 SSL。如需執行此操作的相關資訊,請參閱 強制執行 SSL
您可能也會想對您的資料庫連線使用 SSL。為此,請在您的 Repo
組態中取消註解 ssl: true
這行。
準備資料庫
讓我們為應用程式準備資料庫
$ gigalixir pg:create --free
驗證是否已建立資料庫
$ gigalixir pg
驗證是否已建立 DATABASE_URL
和 POOL_SIZE
$ gigalixir config
佈署時間到囉!
我們的專案現在已準備好於 Gigalixir 上佈署。
$ git push gigalixir
查看您的佈署狀態,並等到應用程式 正常
$ gigalixir ps
執行遷移
$ gigalixir run mix ecto.migrate
查看您的應用程式記錄
$ gigalixir logs
如果一切正常,讓我們看看您的應用程式在 Gigalixir 上執行的情況
$ gigalixir open
好用的 Gigalixir 指令
開啟遠端主控台
$ gigalixir account:ssh_keys:add "$(cat ~/.ssh/id_rsa.pub)"
$ gigalixir ps:remote_console
如需開啟遠端觀察者,請參閱 遠端觀察者
如需設定叢集,請參閱 叢集節點
如需執行熱升級,請參閱熱升級
如需使用自訂網域、調整、工作及其他功能,請參閱Gigalixir 文件
疑難排解
請參閱疑難排解
另外,請務必傳送電子郵件至 help@gigalixir.com 或索取邀請,並在Slack上加入#gigalixir頻道。