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 服務,您需要兩項資訊:服務的網域名稱及證書密碼。

  1. 在 Stackhero 控制台,選擇您的「production」Docker 服務,然後點擊「Configure」按鈕。

    取得服務設定取得服務設定

  2. 複製「Domain name」及「Docker certificates password」,以便於後續步驟使用。

    取得服務設定取得服務設定

  1. 在 GitHub,打開您的專案。

  2. 前往 Settings > Environments,然後點擊 New environment。

    設定 GitHub 環境設定 GitHub 環境

  3. 在 Name 欄位輸入「production」並確認。

    設定環境名稱設定環境名稱

  4. 點擊 No restriction 按鈕,選擇 Selected branches and tags。

    設定環境限制設定環境限制

  5. 點擊 Add deployment branch or tag rule,在 Name pattern 欄位輸入「production」,然後點擊 Add rule。

    設定環境分支設定環境分支 設定環境分支設定環境分支

  6. 在 Environment secrets 下,點擊 Add secret。

    新增密鑰新增密鑰

  7. 密鑰名稱請用 STACKHERO_CERTIFICATES_PASSWORD,並將您的證書密碼貼到 Value 欄位。

    設定證書密碼密鑰設定證書密碼密鑰

  8. 在 Environment variables 下,點擊 Add variable。

    設定變數設定變數

  9. 名稱請用 STACKHERO_ENDPOINT,並將您的 Docker 服務 endpoint 貼到 Value 欄位。您可以在 Stackhero 控制台找到這個 endpoint。

    設定 endpoint 變數設定 endpoint 變數

如果您自訂了服務的網域名稱,請記得使用您的自訂網域,而不是 <XXXXXX>.stackhero-network.com。

如果您的 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