?本指南向您展示如何使用新的 encore 建置命令(Encore 開源 CLI 的一部分)將 Encore 應用程式部署到 DigitalOcean。
如果您喜歡手動部署而不是 Encore 雲端平台提供的自動化功能,這會很方便。
即使手動部署,Encore 也可以透過提供建置和配置應用程式的工具來簡化流程。 ⚡️
現在讓我們看看如何使用 Docker 和 encore build 將 Encore 應用程式部署到 DigitalOcean 的應用程式平台。 ?
先決條件
-
DigitalOcean 帳戶:確保您擁有 DigitalOcean 帳戶。如果沒有,您可以在這裡註冊。
-
已安裝 Docker:確保 Docker 已安裝在本機上。您可以從 Docker 網站下載。
-
Encore CLI:安裝 Encore CLI:
-
macOS:brew install encoredev/tap/encore
-
Linux:curl -L https://encore.dev/install.sh |巴什
-
Windows: iwr https://encore.dev/install.ps1 |艾克斯
-
DigitalOcean CLI(可選):您可以安裝 DigitalOcean CLI 以獲得更大的靈活性和自動化,但這對於本教程來說不是必需的。
第 1 步:建立 Encore 應用程式
-
建立一個新的 Encore 應用程式:
- 如果您還沒有使用 Encore CLI 建立一個新的 Encore 應用程式。
- 您可以使用以下命令來建立新應用程式:
encore app create myapp
登入後複製
登入後複製
登入後複製
登入後複製
- 選擇 Hello World 範本。
- 按照提示建立應用程式。
-
建置 Docker 映像:
- 建置 Encore 應用程式以產生用於部署的 docker 映像:
encore build docker myapp
登入後複製
登入後複製
登入後複製
登入後複製
步驟 2:將 Docker 映像推送到容器註冊表
要將 Docker 映像部署到 DigitalOcean,您需要將其推送到容器註冊表。 DigitalOcean 支援
它自己的容器註冊表,但您也可以使用 DockerHub 或其他註冊表。以下是將映像推送到 DigitalOcean 的註冊表的方法:
doctl registry login
登入後複製
登入後複製
登入後複製
登入後複製
為此,您需要 DigitalOcean CLI,可以從 DigitalOcean CLI 文件安裝它。
-
標記您的 Docker 映像:
標記您的圖像以匹配註冊表的 URL。
encore app create myapp
登入後複製
登入後複製
登入後複製
登入後複製
encore build docker myapp
登入後複製
登入後複製
登入後複製
登入後複製
步驟3:將Docker映像部署到DigitalOcean應用平台
第 4 步:監控和管理應用程式
-
存取應用程式:
- 部署後,您將獲得一個公共 URL 來存取您的應用程式。
- 測試應用程式以確保其按預期運行,例如
doctl registry login
登入後複製
登入後複製
登入後複製
登入後複製
-
查看日誌和指標:
- 前往應用程式平台「運行時日誌」標籤查看日誌
- 前往「洞察」標籤查看效能指標。
-
管理擴充與部署設定:
- 您可以變更應用程式配置,例如縮放設定、部署區域或環境變數。
第 5 步:將資料庫新增至您的應用程式
DigitalOcean 的應用程式平台提供託管資料庫,讓您可以輕鬆地將資料庫新增至您的應用程式。以下是如何為您的應用程式設定託管資料庫:
-
導覽至 DigitalOcean 控制面板:
- 進入 DigitalOcean 控制面板。
- 點選左側邊欄的「資料庫」。
-
建立新的資料庫叢集:
- 點選「建立資料庫叢集」。
- 選擇PostgreSQL
- 選擇資料庫版本、資料中心區域和叢集配置(例如,根據您的需求進行開發或生產設定)。
-
為資料庫命名並根據需要配置其他設置,然後按一下「建立資料庫叢集」。
-
設定資料庫設定:
- 建立資料庫後,前往資料庫儀表板的「連接詳細資料」標籤。
- 複製連接字串或個人設定(主機、連接埠、使用者名稱、密碼、資料庫名稱)。您將需要這些詳細資訊來將您的應用程式連接到資料庫。
- 下載CA證書
-
建立資料庫
- 使用DigitalOcean提供的連接字串連接到資料庫。
encore app create myapp
登入後複製
登入後複製
登入後複製
登入後複製
encore build docker myapp
登入後複製
登入後複製
登入後複製
登入後複製
-
在您的 Encore 應用程式中聲明一個資料庫:
- 開啟 Encore 應用的程式碼庫。
- 將 mydb 資料庫新增至您的應用程式(Encore 資料庫文件)
doctl registry login
登入後複製
登入後複製
登入後複製
登入後複製
-
建立 Encore 基礎架構設定
- 在 Encore 應用程式的根目錄中建立一個名為 infra.config.json 的檔案。
- 將 CA 憑證 和連線詳細資料加入檔案:
docker tag myapp registry.digitalocean.com/YOUR_REGISTRY_NAME/myapp:latest
登入後複製
-
設定環境變數(可選):
- 前往 DigitalOcean 應用程式平台儀表板。
- 選擇您的應用程式。
- 在「設定」部分中,前往「應用程式層級環境變數」
- 將資料庫密碼新增為名為 DB_PASSWORD 的加密環境變數。
-
建置並推送 Docker 映像:
encore app create myapp
登入後複製
登入後複製
登入後複製
登入後複製
- 標記 Docker 映像並將其推送到 DigitalOcean 容器註冊表。
encore build docker myapp
登入後複製
登入後複製
登入後複製
登入後複製
-
測試資料庫連線:
- 在 DigitalOcean 上重新部署應用程式以套用變更。
- 呼叫API測試資料庫連接
doctl registry login
登入後複製
登入後複製
登入後複製
登入後複製
故障排除技巧
-
部署失敗:檢查建置日誌是否有任何錯誤。確保 Docker 映像已正確標記並推送到註冊表。
-
應用程式無法存取:驗證 Dockerfile 和應用程式平台配置中是否公開了正確的連接埠。
-
資料庫連接問題:確保資料庫連接詳細資訊正確並且可以從應用程式存取資料庫。
結論
就是這樣!您已使用 Docker 成功將 Encore 應用程式部署到 DigitalOcean 的應用程式平台。 ?
您現在可以擴展您的應用程式、監控其效能並透過 DigitalOcean 儀表板輕鬆管理它。
?自己嘗試一下
- 透過這些教學了解如何使用 Encore 建立應用程式。 ?
- 尋找使用這些開源應用程式模板建立內容的靈感。 ?
總結
- ⭐️ 透過在 GitHub 上加註 Encore 來支持此專案。
- ?如果您有疑問或想要分享您的作品,請加入 Discord 上 Encore 社群的開發者聚會。
以上是如何使用 Docker 和 Encore 將後端應用程式部署到 DigitalOcean的詳細內容。更多資訊請關注PHP中文網其他相關文章!