Docker: 設定環境變數及密鑰

此文件屬於使用 GitHub Actions 部署指南的一部分。請在此處查看完整指南:學習如何利用 GitHub Actions 部署您的 Docker 容器

👋 歡迎來到 Stackhero 文件!

Stackhero 提供一個即用型的 Docker cloud CaaS (Containers as a Service) 解決方案,帶來多種好處,包括:

  • 只需 docker-compose up 即可 輕鬆將 您的容器 部署到生產環境
  • 可自訂的域名,並使用 HTTPS 保護(例如,https://api.your-company.comhttps://www.your-company.comhttps://backoffice.your-company.com)。
  • 專用的私人 VM 提供的最佳 性能 和強大的 安全性
  • 只需點擊一下即可輕鬆 更新

節省時間簡化您的生活:只需 5 分鐘 即可嘗試 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