在使用GitHub操作部署到Google App Engine时遇到“未提供凭据”的问题,通常是因为没有正确配置身份验证信息。以下是解决这个问题的详细步骤:
身份验证(Authentication):确保用户是其声称的身份的过程。 授权(Authorization):确定已认证的用户是否有权执行特定操作的过程。
以下是解决“未提供凭据”问题的具体步骤:
首先,确保你有一个Google Cloud项目,并且在该项目中创建了一个服务账户。
gcloud projects create [PROJECT_ID] --name="[PROJECT_NAME]"
gcloud auth login
gcloud config set project [PROJECT_ID]
创建一个服务账户并为其生成一个JSON密钥文件。
gcloud iam service-accounts create [SERVICE_ACCOUNT_NAME]
gcloud iam service-accounts keys create key.json --iam-account=[SERVICE_ACCOUNT_NAME]@[PROJECT_ID].iam.gserviceaccount.com
在你的GitHub仓库中,创建一个.github/workflows/deploy.yml
文件,并添加以下内容:
name: Deploy to Google App Engine
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Set up Google Cloud SDK
uses: google-github-actions/setup-gcloud@v0
with:
service_account_key: ${{ secrets.GCP_SA_KEY }}
project_id: ${{ secrets.GCP_PROJECT_ID }}
- name: Deploy to App Engine
run: gcloud app deploy
将生成的key.json
文件内容添加到GitHub仓库的Secrets中。
GCP_SA_KEY
key.json
文件的内容粘贴到这里。推送一些代码到GitHub仓库的主分支,触发GitHub Actions工作流。如果一切配置正确,你的应用应该会自动部署到Google App Engine。
GCP_SA_KEY
已正确添加。roles/appengine.deployer
角色。通过以上步骤,你应该能够解决“未提供凭据”的问题,并成功部署你的应用到Google App Engine。
领取专属 10元无门槛券
手把手带您无忧上云