PHP: 配置 GitHub Actions 工作流

本文档属于使用 GitHub Actions 部署指南的一部分。您可以在此处查看完整指南:如何使用 GitHub Actions 部署您的 PHP 代码

👋 欢迎查阅 Stackhero 文档!

Stackhero 提供专为高效、可靠部署打造的 PHP 云平台

  • 只需一次简单的 git push,即可在几秒钟内部署您的 PHP 应用到生产环境。
  • 支持自定义域名,HTTPS 证书自动配置,无需手动操作。
  • 依托自动备份一键更新以及清晰、可预测的定价,Stackhero 为您处理所有细节,让您专注于代码开发。
  • 基于专为您的应用打造的私有专用基础设施,享受卓越的性能安全性

让您的工作流程更高效,节省宝贵时间。只需几分钟,即可开始体验 Stackhero 的 PHP 云主机

接下来,您需要创建一个 GitHub Actions 工作流文件来自动化部署。在您的 Git 仓库中,创建 .github/workflows 目录,并添加名为 deploy-to-stackhero.yml 的文件,内容如下:

# File: .github/workflows/deploy-to-stackhero.yml

name: Deploy to Stackhero
run-name: Deploy branch "${{ github.ref_name }}" to Stackhero

on:
  push:
    # 触发部署操作的分支列表
    # 请确保为每个分支在 GitHub("Settings" -> "Environments")中创建对应的环境
    # 然后在该环境中添加密钥 "STACKHERO_SSH_PRIVATE_KEY" 和变量 "STACKHERO_ENDPOINT"
    branches: [ "production", "staging" ]

jobs:
  Deploy:
    environment: ${{ github.ref_name }}
    runs-on: ubuntu-latest
    steps:
    - uses: stackhero-io/github-actions-deploy-to-stackhero@v1
      with:
        # 密钥 "STACKHERO_SSH_PRIVATE_KEY" 和变量 "STACKHERO_ENDPOINT" 需在对应的 GitHub 环境("Settings" -> "Environments")中定义
        ssh_private_key: ${{ secrets.STACKHERO_SSH_PRIVATE_KEY }}
        endpoint: ${{ vars.STACKHERO_ENDPOINT }}

添加该文件后,您可以在终端运行以下命令提交更改:

git add -A .
git commit -m "Add GitHub Actions to deploy to Stackhero"

要创建 production 分支,可以运行:

git checkout -b production

然后将更改推送到 GitHub:

git push --set-upstream origin production

这样您的代码就会被推送到 GitHub 的 production 分支。GitHub Actions 会自动运行并将代码部署到关联的 Stackhero 实例。要查看部署状态,请访问您的 GitHub 项目并点击 Actions

GitHub Actions 部署到生产环境GitHub Actions 部署到生产环境

恭喜!您的项目现已配置为通过 GitHub Actions 自动部署到生产环境。