无法触发GitHub Actions至指定staging分支,PHP后端FTP部署任务未执行
按以下步骤逐一排查问题:
确认配置文件路径
必须把staging.yml和master.yml放在仓库根目录的.github/workflows/文件夹下,GitHub Actions仅识别该路径下的工作流配置,路径错误会直接导致任务不触发。验证分支触发条件
你的配置触发规则为push: branches: [staging],只有向staging分支推送代码才会触发任务。检查实际推送的分支名称,避免拼写错误(比如写成stage、staging-test等不符分支名)。检查Secrets变量配置
进入仓库的「Settings」→「Secrets and variables」→「Actions」页面,确认ftp_host、ftp_username、ftp_password这三个Secrets已正确添加,且变量名与配置中的完全一致(大小写敏感)。变量缺失或拼写错误会导致任务静默失败,易被误认为未触发。查看Actions任务记录
打开仓库的「Actions」标签页,查看是否有相关任务条目——哪怕是失败的记录。若有失败记录,点击进入查看具体报错(如FTP连接超时、权限不足等);若完全无记录,大概率是配置文件路径或分支触发规则的问题。尝试升级Action版本
当前使用的actions/checkout@v2和SamKirkland/FTP-Deploy-Action@4.3.2为较旧版本,虽不一定是触发问题,但可尝试升级至最新稳定版(如actions/checkout@v4、SamKirkland/FTP-Deploy-Action@v4.3.4),规避版本兼容异常。
你的staging.yml配置内容:
on: push: branches: [staging] name: Staging 🚀 jobs: web-deploy: name: 🎉 Deploy runs-on: ubuntu-latest steps: - name: 🚚 Get latest code uses: actions/checkout@v2 - name: 📂 Sync files uses: SamKirkland/FTP-Deploy-Action@4.3.2 with: server: ${{ secrets.ftp_host }} username: ${{ secrets.ftp_username }} password: ${{ secrets.ftp_password }} server-dir: staging/backend/
内容的提问来源于stack exchange,提问作者Thálisson Sinízio

