我在 GitHub 中有一个 Angular 应用程序,它通过 GitHub 操作部署到 Azure 静态 Web 应用程序。
添加私有(private) npm 包时部署失败。
在 GitHub 文档中,我找到了如何通过环境设置为节点脚本指定 npm token ,并将其与 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 secret ,其中包含我在 npm 中生成的 token ,选择“用于 CI 目的”选项。
但是在尝试安装私有(private)包时我仍然看到 404 错误。
任何想法将不胜感激!
最佳答案
在媒体上找到这篇文章:Install private NPM packages in github actions
按照那里的建议,我在调用 azure 部署操作之前“手动”创建了 .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
.......
关于通过 GitHub Actions (.yml) 部署的 Azure 静态 Web 应用程序在私有(private) npm 包上出现 404 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68732654/