Docker: 設定環境變數與機密資訊(secrets)
本文件是使用 GitHub Actions 部署指南的一部分。請在此處查看完整指南:學習如何透過 GitHub Actions 部署您的 Docker 容器。
👋 歡迎來到 Stackhero 文件!
Stackhero 提供一個即用型的 Docker cloud CaaS (Containers as a Service) 解決方案,帶來多種優勢,包括:
- 只需
docker-compose up即可輕鬆將您的容器部署到生產環境。- 使用 HTTPS 保護的可自訂域名(例如,https://api.your-company.com,https://www.your-company.com,https://backoffice.your-company.com)。
- 由專用私有 VM提供的最佳性能和強大的安全性。
- 只需點擊即可輕鬆更新。
節省時間並簡化您的生活:只需 5 分鐘即可嘗試 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。
新增 secret -
將 secret 名稱設為
STACKHERO_CERTIFICATES_PASSWORD,並將您的憑證密碼貼到 Value 欄位。
設定憑證密碼 secret -
在 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