推送master分支时GitHub Action部署Google App Engine无法识别app.yaml求助
问题定位与解决方案
核心故障原因
你配置的工作流缺失代码检出步骤:GitHub Actions 运行器默认不会主动拉取你仓库的代码,没有这一步的话后续部署步骤完全找不到仓库内的app.yaml文件,这是你所有路径配置尝试都失败的根本原因。
另外你把app.yaml放在.github/workflows目录下的操作也会引发误判:GitHub 默认会将该目录下所有.yml/.yaml文件识别为工作流配置,自然会触发异常的Action执行。
修正方案
1. 调整文件位置
把app.yaml从.github/workflows相关目录移到项目根目录即可,不需要额外新建目录存放。
2. 修正工作流配置
修改.github/workflows/main.yml内容如下,新增代码检出步骤,同时建议升级到新版部署Action避免版本兼容性问题:
name: Deployment on: push: branches: - master jobs: deploy: name: Deploy to App Engine runs-on: ubuntu-latest steps: # 新增:拉取仓库代码到运行器 - name: Checkout code uses: actions/checkout@v4 - name: Deploy to Google App Engine uses: google-github-actions/deploy-appengine@v2 # 升级到最新稳定版 with: project_id: 替换为你真实的GAE项目ID version: master credentials: ${{secrets.GOOGLE_APP_ENGINE_KEY}} flags: --no-cache deliverables: app.yaml
3. 额外校验项
- 确认你存到GitHub Secrets里的
GOOGLE_APP_ENGINE_KEY是完整的服务账号JSON密钥,没有格式错误 - 确认对应服务账号已授予
App Engine Deployer、Storage Admin等部署必需的权限 - 确认你的GAE项目已开启对应PHP运行时的支持
内容的提问来源于stack exchange,提问作者David Sojka
相关产品推荐
相关产品推荐

