如何为 github 工作流操作归档工件中的文件以修复此警告?
Posted
技术标签:
【中文标题】如何为 github 工作流操作归档工件中的文件以修复此警告?【英文标题】:How to archive files in artifact for github workflow actions in order to fix this warning? 【发布时间】:2021-09-28 20:50:34 【问题描述】:此工件中有超过 10,000 个文件,请考虑在上传前创建存档以提高上传性能。
【问题讨论】:
【参考方案1】:我在将节点应用部署到 Azure 应用服务时遇到了这个问题。
我通过添加一个 zip 和一个解压缩步骤来修复它。
压缩步骤是
- name: Zip artifact for deployment
run: zip release.zip ./* -r
解压步骤是
- name: unzip artifact for deployment
run: unzip release.zip
像这样在构建步骤之后和上传工件步骤之前添加 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
然后像这样在下载工件步骤之后和部署步骤之前添加解压缩步骤。
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:
【讨论】:
很好的答案,我正在寻找一种方法来加快我的天蓝色部署,就是这样。我从平均 40 分钟部署到 5 分钟部署,非常感谢您的回答! 小心隐藏文件/目录(即那些以点开头的文件),因为它不会选择它们。就我而言,我必须手动添加那些 (zip -r release.zip * .env .next
)
@helpse 谢谢,我需要为我的下一个 js 应用添加“.next”
您也可以在解压步骤后通过运行rm release.zip
删除压缩文件【参考方案2】:
在将基于 React 的应用部署到 Azure 应用服务时,我也遇到了这个问题。
补充@steve写的答案,如果App服务实例是基于windows的,可以使用Powershell的Compress-Archive。
在构建步骤中 - 压缩
Compress-Archive . release.zip
在部署步骤中 - 解压
Expand-Archive release.zip
或
unzip release.zip
如果部署脚本使用 bash
【讨论】:
【参考方案3】:您可以使用以下命令压缩所有文件,然后将 zip 文件夹作为您的工件上传。
zip artifact.zip <generated_files>/*
【讨论】:
以上是关于如何为 github 工作流操作归档工件中的文件以修复此警告?的主要内容,如果未能解决你的问题,请参考以下文章
maven-jar-plugin:如何为测试创建不同的工件名称?
在 Jenkins 中执行 Artifacts 时存档文件压缩
如何为 GitLab CI 运行器启用 Maven 工件缓存?