如何解决azure web应用程序部署未经授权(代码:401)

问题描述 投票:0回答:2

您好,我正在尝试使用 Azure Web 应用程序服务(使用 github 操作作为部署提供程序)来部署我的 React 应用程序。构建过程已完成,但部署步骤最后显示错误。 这是错误示例:

Run azure/webapps-deploy@v2
  with:
    app-name: productlister
    slot-name: Production
    publish-profile: ***
    package: .
Package deployment using ZIP Deploy initiated.
Error: Failed to deploy web package to App Service.
Error: Deployment Failed, Error: Failed to deploy web package to App Service.
Unauthorized (CODE: 401)
App Service Application URL: [https://productlister.azurewebsites.net](https://productlister.azurewebsites.net)

我使用 github action yml 文件作为工作流程。我正在寻找这个错误的解决方案。 我不知道错误。

azure deployment azure-web-app-service github-actions
2个回答
3
投票

我创建了一个示例 React 应用程序并将其推送到 Github,如下所示:-

enter image description here

enter image description here

我使用 Node 版本 18 创建了一个 Azure Web 应用程序,并在配置中添加了这 2 个设置,请参阅下文:-

enter image description here

设置:-

SCM_DO_BUILD_DURING_DEPLOYMENT true

WEBSITE_WEBDEPLOY_USE_SCM true

转到左侧选项卡上的“部署”>“部署中心”,选择上面的 github 存储库,并启动部署的 Github 操作工作流程,如下所示:-

enter image description here

我的github工作流程:-

您可以在此找到我完整的 github 工作流程链接

代码参考


name: Build and deploy Node.js app to Azure Web App - siliconwebapp

on:
  push:
    branches:
      - master
  workflow_dispatch:

jobs:
  build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v2

      - name: Set up Node.js version
        uses: actions/setup-node@v1
        with:
          node-version: '18.x'

      - name: npm install, build, and test
        run: |
          npm install
          npm run build --if-present
          npm run test --if-present
      - name: Upload artifact for deployment job
        uses: actions/upload-artifact@v2
        with:
          name: node-app
          path: .

  deploy:
    runs-on: ubuntu-latest
    needs: build
    environment:
      name: 'Production'
      url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}

    steps:
      - name: Download artifact from build job
        uses: actions/download-artifact@v2
        with:
          name: node-app

      - name: 'Deploy to Azure Web App'
        id: deploy-to-webapp
        uses: azure/webapps-deploy@v2
        with:
          app-name: 'siliconwebapp'
          slot-name: 'Production'
          publish-profile: ${{ secrets.AZUREAPPSERVICE_PUBLISHPROFILE_AB22E951505E4DC799565C7665CCC5D8 }}
          package: .
          

输出:-

enter image description here

enter image description here

enter image description here

注意-除了添加上述设置之外,当我在不同的Web应用程序中部署该应用程序时,即使我收到了与您相同的错误代码,请参阅以下内容:-

另一个名为 Silicon-webapp 的 Web 应用程序,与之前的一个成功的名为 Siliconwebapp 的 Web 应用程序相同。

enter image description here

enter image description here

Package deployment using ZIP Deploy initiated.

[8](https://github.com/xxx/my-app1/actions/runs/xxx/jobs/xxx#step:3:9)Error: Failed to deploy web package to App Service.

[9](https://github.com/xxx/my-app1/actions/runs/xxx06070/jobs/xxx53864#step:3:10)Error: Deployment Failed, Error: Failed to deploy web package to App Service.

[10](https://github.com/xxxdesai/my-app1/actions/runs/xxx306070/jobs/9xxxx#step:3:11)Unauthorized (CODE: 401)

我在另一个区域部署了一个新的Web应用程序siliconwebapp,然后在配置中添加了上述设置,并从部署中心启动了Github工作流程,成功了。

参考:-

github - 无法部署到azure web应用程序服务 - 堆栈内存溢出


3
投票

如果导航到 Azure 中的“部署中心”,您可以下载发布配置文件。 这可以帮助您检查出了什么问题。 (您也可以只导入发布配置文件,这绝对可行。)

下载发布配置文件"/>Manage publish profile >
    </a>
</p>
</answer>对我来说,解决方案是启用位于<answer tick=的基本身份验证

您的应用程序服务

> 配置(在左侧窗格中)> SCM 基本身份验证 > 打开

Showing SCM Enabling option

© www.soinside.com 2019 - 2024. All rights reserved.