Docker: 配置环境变量和密钥(secrets)

本文件是使用 GitHub Actions 部署指南的一部分。您可以在这里查看完整指南:了解如何通过 GitHub Actions 部署您的 Docker 容器

👋 欢迎来到 Stackhero 文档!

Stackhero 提供现成的 Docker 云 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 云托管 解决方案,并将您的容器部署到生产环境!

为了让 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