Docker: 配置 GitHub Actions 工作流
本文档属于使用 GitHub Actions 部署指南的一部分。您可以在此处查看完整指南:了解如何通过 GitHub Actions 部署您的 Docker 容器。
👋 欢迎使用 Stackhero 文档!
Stackhero 提供即用型 Docker 云 CaaS(容器即服务) 解决方案,具有众多优势,包括:
- 只需一个
docker-compose up,即可轻松将您的容器部署到生产环境。- 使用 HTTPS 保护的可定制域名(例如,https://api.your-company.com,https://www.your-company.com,https://backoffice.your-company.com)。
- 由私有和专用 VM提供的最佳性能和强大安全性。
- 只需点击即可轻松更新。
节省时间并简化您的生活:只需 5 分钟即可尝试 Stackhero 的 Docker CaaS 云托管 解决方案,并将您的容器部署到生产环境!
在本地机器上,进入您的 Git 仓库,创建 .github/workflows 目录。在该目录下新建名为 deploy-to-stackhero.yml 的文件,内容如下:
# File: .github/workflows/deploy-to-stackhero.yml
name: Deploy to Stackhero
description: Deploy branch "${{ github.ref_name }}" to Stackhero
on:
push:
# 这些分支在 push 时会触发部署操作。
# 请确保在 GitHub(Settings > Environments)中创建与分支同名的环境。
# 然后在该环境中添加密钥 STACKHERO_CERTIFICATES_PASSWORD 和变量 STACKHERO_ENDPOINT。
branches: [ "production", "staging" ]
jobs:
Deploy:
environment: ${{ github.ref_name }}
runs-on: ubuntu-latest
steps:
- uses: stackhero-io/github-actions-deploy-docker-containers-to-stackhero@v1
with:
# 密钥 STACKHERO_CERTIFICATES_PASSWORD 和变量 STACKHERO_ENDPOINT 应在对应分支环境中定义。
certificates_password: ${{ secrets.STACKHERO_CERTIFICATES_PASSWORD }}
endpoint: ${{ vars.STACKHERO_ENDPOINT }}
# deployment_command 为可选项。如需自定义 Docker Compose 命令可使用。
deployment_command: ${{ vars.STACKHERO_DEPLOY_COMMAND }}
您可以通过以下命令提交更改:
git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"
要创建 production 分支,可以运行:
git checkout -b production
然后将 production 分支推送到 GitHub:
git push --set-upstream origin production
代码推送后,GitHub Actions 会自动将其部署到您的生产 Stackhero 实例。您可以在 GitHub 项目的 Actions 标签页中查看部署进度。
GitHub Actions 已部署到生产环境
就是这样。现在您已配置好通过 GitHub Actions 自动部署代码到生产环境。