Docker: 設定環境變數及密鑰
此文件屬於使用 GitHub Actions 部署指南的一部分。請在此處查看完整指南:學習如何利用 GitHub Actions 部署您的 Docker 容器。
歡迎瀏覽 Stackhero 文件
Stackhero 提供即用型 Docker cloud CaaS (Containers as a Service) 平台,專為快速及可靠的 container 部署而設:
- 只需一條
docker-compose up指令即可部署到生產環境。無需額外設定:直接啟動您的 containers。- 可自訂您的網域名稱,並自動以 HTTPS 保護(例如:https://api.your-company.com、https://www.your-company.com 或 https://backoffice.your-company.com)。
- 享有高效能及強大安全性的專屬私有基礎設施。
- 一鍵套用更新,簡化維護工作,減少管理負擔。
您的 containers 約五分鐘內即可投入生產運作。Stackhero 會為您管理基礎設施、更新及安全,讓您專注於應用程式開發。了解更多 Docker CaaS cloud hosting 的詳情。
取得網域名稱及證書密碼
為了讓 GitHub Actions 能連接到您的 Stackhero Docker 服務,您需要兩項資訊:服務的網域名稱及證書密碼。
-
在 Stackhero 控制台,選擇您的「production」Docker 服務,然後點擊「Configure」按鈕。
取得服務設定 -
複製「Domain name」及「Docker certificates password」,以便於後續步驟使用。
取得服務設定
在 GitHub 設定網域名稱及證書密碼
-
在 GitHub,打開您的專案。
-
前往 Settings > Environments,然後點擊 New environment。
設定 GitHub 環境 -
在 Name 欄位輸入「production」並確認。
設定環境名稱 -
點擊 No restriction 按鈕,選擇 Selected branches and tags。
設定環境限制 -
點擊 Add deployment branch or tag rule,在 Name pattern 欄位輸入「production」,然後點擊 Add rule。
設定環境分支
設定環境分支 -
在 Environment secrets 下,點擊 Add secret。
新增密鑰 -
密鑰名稱請用
STACKHERO_CERTIFICATES_PASSWORD,並將您的證書密碼貼到 Value 欄位。
設定證書密碼密鑰 -
在 Environment variables 下,點擊 Add variable。
設定變數 -
名稱請用
STACKHERO_ENDPOINT,並將您的 Docker 服務 endpoint 貼到 Value 欄位。您可以在 Stackhero 控制台找到這個 endpoint。
設定 endpoint 變數
如果您自訂了服務的網域名稱,請記得使用您的自訂網域,而不是 <XXXXXX>.stackhero-network.com。
自訂 Docker Compose 設定檔
如果您的
docker-compose.yml已經在專案根目錄,且不需要特別自訂,可以略過本節。
預設情況下,GitHub Actions 會在專案根目錄尋找 docker-compose.yml。如果您需要使用其他檔案或自訂設定,可以調整部署指令。例如,若您使用我們的 Node.js 與 Docker 入門範本,可以新增一個名為 STACKHERO_DEPLOY_COMMAND 的環境變數,並設為:
docker compose --env-file env.list --file docker/docker-compose.yml --file docker/docker-compose.production.yml up --build --remove-orphans -d