1

我在 GitHub 中有一个 Angular 应用程序,它通过 GitHub 操作部署到 Azure 静态 Web 应用程序。

添加私有 npm 包时部署失败。

在 GitHub Docs 中,我发现了如何通过环境设置为节点脚本指定 npm 令牌,并将其与 Azure 的有关自定义工作流文件的文档结合起来,这让我尝试了这个(以及它的一些变体):

  - name: Build And Deploy
    id: builddeploy
    uses: Azure/static-web-apps-deploy@v1
    with:
      azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN_RANDOM }}
      repo_token: ${{ secrets.GITHUB_TOKEN }} # Used for Github integrations (i.e. PR comments)
      action: "upload"
      ###### Repository/Build Configurations - These values can be configured to match your app requirements. ######
      # For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
      app_location: "/" # App source code path
      api_location: "" # Api source code path - optional
      output_location: "dist" # Built app content directory - optional
      ###### End of Repository/Build Configurations ######
    env:
      NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

我读过的带有 NODE_AUTH_TOKEN 的最后一行将生成一个 .npmrc 文件来验证进程。我有一个名为 NPM_TOKEN 的 GitHub 机密,其中包含我在 npm 中生成的令牌,选择“用于 CI 目的”选项。

但是我在尝试安装私有包时仍然看到 404 错误。

任何想法,将不胜感激!

4

1 回答 1

0

在媒体上找到这篇文章:在 github 操作中安装私有 NPM 包

按照那里的建议,我在调用 azure deploy 操作之前“手动”创建了 .npmrc 文件并解决了它:

      - name: Create .npmrc file
        run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > .npmrc
      - name: Build And Deploy
        id: builddeploy
        uses: Azure/static-web-apps-deploy@v1
        .......
于 2021-08-25T18:49:49.690 回答