Azure部署令牌存储位置及Github Action部署报deployment_token未提供问题
问题解答
部署令牌存储说明
你用到的两类令牌存储规则如下:
${{ secrets.GITHUB_TOKEN }}是GitHub Actions自动生成的临时令牌,由GitHub在工作流运行时自动注入,无需手动配置,也不会存储在Azure侧- 你手动获取的Azure静态Web应用部署令牌,当前存储在你创建的GitHub
Azure-new-host环境密钥中;Azure侧仅保留该令牌的校验值,不会存储明文内容
报错根因
你遇到的deployment_token was not provided报错由工作流配置的两处错误导致:
build_and_deploy_job中environment块语法不符合YAML规范,name:Azure-new-host冒号后缺少空格,导致环境配置未生效,工作流无法读取环境下存储的密钥close_pull_request_job未指定使用Azure-new-host环境,该job运行时只会读取仓库级密钥,而你将部署令牌存在了环境级密钥中,自然读取不到对应值,触发令牌为空的报错
修正方案
按以下步骤调整工作流配置即可解决问题:
- 修正
build_and_deploy_job的environment语法,冒号后补充空格,修正后配置如下:
environment: name: Azure-new-host url: https://github.com
- 给
close_pull_request_job也添加对应的environment配置,指定使用Azure-new-host环境 - 核对环境密钥的名称拼写和工作流中引用的完全一致,无大小写、字符拼写错误
- 确认该GitHub仓库的工作流有权限访问
Azure-new-host环境,没有配置额外的环境访问限制
内容的提问来源于stack exchange,提问作者OrigamiEye
相关产品推荐
相关产品推荐

