GitHub与Azure CI/CD集成时无法设置密钥如何解决?
问题根因
报错核心是GitHub仓库未正确配置Azure发布凭据的Secrets变量,你之前手动创建凭证文件提交到仓库的操作不符合默认工作流的识别规则,且Visual Studio 16.10.4对应.NET 5的自动生成工作流模板也存在兼容性问题。
修复步骤
第一步:获取正确的Azure发布配置文件
- 进入Azure门户对应Blazor应用的「部署中心」,切换到「管理发布配置文件」选项,点击「下载配置文件」获取
.PublishSettings格式的文件 - 复制该文件的全部内容
- 进入Azure门户对应Blazor应用的「部署中心」,切换到「管理发布配置文件」选项,点击「下载配置文件」获取
第二步:正确配置GitHub Secrets
- 打开你的GitHub仓库,进入「Settings」→「Secrets and variables」→「Actions」
- 点击「New repository secret」,名称必须填
AZURE_WEBAPP_PUBLISH_PROFILE,值粘贴刚才复制的发布配置文件全部内容后保存 - 注意:不要手动创建自定义命名的凭证文件提交到代码仓库,默认工作流只会读取固定名称的保密配置变量,不会读取仓库内的明文凭证文件
第三步:修复工作流兼容性问题
手动修改仓库根目录.github/workflows下的yml工作流文件,替换为适配.NET 5的正确配置:# 触发分支根据你的实际仓库分支调整 on: push: branches: [ main ] workflow_dispatch: env: AZURE_WEBAPP_NAME: 替换为你的Azure应用实际名称 AZURE_WEBAPP_PACKAGE_PATH: '.' DOTNET_VERSION: '5.0.x' jobs: build-and-deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: 配置.NET 5环境 uses: actions/setup-dotnet@v3 with: dotnet-version: ${{ env.DOTNET_VERSION }} - name: 还原依赖包 run: dotnet restore - name: 构建发布包 run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/publish_output - name: 部署到Azure uses: azure/webapps-deploy@v2 with: app-name: ${{ env.AZURE_WEBAPP_NAME }} publish-profile: ${{ secrets.AZURE_WEBAPP_PUBLISH_PROFILE }} package: ${{env.DOTNET_ROOT}}/publish_output第四步:验证运行
将修改后的工作流文件push到GitHub,进入仓库的「Actions」标签页即可查看工作流运行状态,不会再出现密钥缺失类报错。
内容的提问来源于stack exchange,提问作者Daniel
相关产品推荐
相关产品推荐

