如何将文件归档到 github 工作流程操作的工件中以修复此警告?

sem*_*lon 48 azure node.js github-actions

此工件中有超过 10,000 个文件,请考虑在上传之前创建存档以提高上传性能。

Ste*_*eve 118

我在将节点应用程序部署到 Azure 应用服务时遇到了这个问题。

我通过添加 zip 和 unzip 步骤来修复它。

压缩步骤是

  - name: Zip artifact for deployment
    run: zip release.zip ./* -r
Run Code Online (Sandbox Code Playgroud)

解压步骤是

  - name: unzip artifact for deployment
    run: unzip release.zip
Run Code Online (Sandbox Code Playgroud)

在构建步骤之后和上传工件步骤之前添加 zip 步骤,如下所示

  - name: npm install, build, and test
    run: |
      npm install
      npm run build --if-present
      npm run test --if-present

  - name: Zip artifact for deployment
    run: zip release.zip ./* -r

  - name: Upload artifact for deployment job
    uses: actions/upload-artifact@v2
    with:
      name: node-app
      path: release.zip
Run Code Online (Sandbox Code Playgroud)

然后,在下载工件步骤之后和部署步骤之前添加解压缩步骤,如下所示。

steps:
  - name: Download artifact from build job
    uses: actions/download-artifact@v2
    with:
      name: node-app
      
  - name: unzip artifact for deployment
    run: unzip release.zip

  - name: 'Deploy to Azure Web App'
    id: deploy-to-webapp
    uses: azure/webapps-deploy@v2
    with:
Run Code Online (Sandbox Code Playgroud)

  • 很好的答案,我一直在寻找一种方法来加速我的天蓝色部署,就是这样。我从平均 40 分钟部署变为 5 分钟部署,因此非常感谢您的回答! (14认同)
  • 请小心隐藏的文件/目录(即以点开头的文件/目录),因为它不会选择它们。就我而言,我必须手动添加这些(`zip -r release.zip * .env .next`) (12认同)
  • 您还可以在解压缩步骤后通过运行“rm release.zip”删除 zip 文件 (7认同)
  • @helpse 谢谢,我需要为我的下一个 js 应用程序添加“.next” (2认同)

小智 10

在将基于React的应用程序部署到Azure应用程序服务时,我也遇到了这个问题。

添加到 @steve 编写的答案,如果应用程序服务实例是基于 Windows 的,则可以使用 Powershell 的Compress-Archive。

在构建步骤中 - 压缩

Compress-Archive . release.zip
Run Code Online (Sandbox Code Playgroud)

在部署步骤中 - 解压缩

Expand-Archive release.zip
Run Code Online (Sandbox Code Playgroud)

或者

unzip release.zip
Run Code Online (Sandbox Code Playgroud)

如果部署脚本使用 bash


Sam*_*dar -1

您可以使用以下命令压缩所有文件,然后上传 zip 文件夹作为您的工件。

zip artifact.zip <generated_files>/*
Run Code Online (Sandbox Code Playgroud)