当前位置: 首页 > news >正文

记使用Github工作流下载解压重打包Artifacts

在另一个工作流打包好的Artifacts,想在一个新的工作流下载并解压重新打包目标文件,说起来挺简单,还折腾了挺久。

1.下载

下载老老实实用gh(Github命令行),不想再折腾其他的所谓简单方法

- name: Install GitHub CLIrun: choco install gh- name: Download Artifacts from build.ymlrun: |gh run download run-id --repo author/reop --name filename --dir path --pattern "*.zip"env:GH_TOKEN: ${{ secrets.GH_TOKEN }}

2.配置TOKEN

如何设置 GH_TOKEN

  1. 创建 GitHub Personal Access Token (PAT):

    • 转到 GitHub Developer Settings 页面。
    • 点击 “Generate new token”,创建一个新的 token。
    • 选择适当的权限,例如 repoworkflow 等,取决于你要执行的操作。
    • 生成 token 并保存好它。
  2. 将 PAT 设置为 GitHub Actions 秘密:

    • 进入你的 GitHub 仓库页面。
    • 转到 Settings > Secrets and variables > Actions
    • 点击 New repository secret
    • 设定名称为 GH_TOKEN,并将刚才生成的 PAT 粘贴到值字段中。
    • 保存这个秘密。
  3. 在 GitHub Actions 工作流中使用 GH_TOKEN:

    • 在你的 GitHub Actions .yml 文件中,将 GH_TOKEN 作为环境变量传递给工作流步骤。

3.解压

可以使用tar,这里有个问题要注意,如果你upload Artifacts的时候,没有打包,而是upload的一个路径,那么,哪怕你下载是个zip,你也不用解压,他会直接下载成一个文件夹!

4.完整

name: Download and Repackage Artifactson:workflow_dispatch:jobs:download_and_repackage:runs-on: windows-lateststeps:- name: Checkout codeuses: actions/checkout@v4.1.6- name: Install GitHub CLIrun: choco install gh- name: Download Artifacts from build.ymlrun: |gh run download run-id --repo author/rep --name filename --dir path --pattern "*.zip"env:GH_TOKEN: ${{ secrets.GH_TOKEN }}- name: List Files in Directoryrun: |Get-ChildItem -Path D:\buildx\ | Format-Table Name, Length- name: Copy selected filesrun: |mkdir D:\selected-files\binxcopy D:\buildx\a.exe D:\selected-files\bin\ /Y- name: Upload Repackaged Artifactsif: failure() || success() uses: actions/upload-artifact@v4.3.3with:name: repackaged-artifact-15.0.2path: D:\selected-files


http://www.mrgr.cn/news/9555.html

相关文章:

  • 【vscode】vscode+cmake+llvm+ninja开发环境的搭建(draft)
  • Nginx - 反向代理、缓存详解
  • 【Oracle19c】手工数据统计信息并导入dmp数据
  • 简单实现进度条效果(vue2)
  • 品味生活的艺术 ——《晚酌的流派》推荐
  • Burp Suite、Wireshark与Fiddler:三款网络工具深度解析与比较
  • 【JAVA】后端开发中的数据结构:基础知识与应用场景
  • 深度学习分类:交叉熵
  • Linux云计算 |【第二阶段】SECURITY-DAY5
  • Python编码系列—Python中的Web安全防护:深入探索SQL注入与XSS攻击
  • 基于深度学习的可持续发展模型
  • 优化学习管理:Moodle和ONLYOFFICE文档编辑器的完美结合
  • easypoi模板导出word多页导出加强版
  • 【目标检测】模型评估指标
  • clickhouse-neighbor 坑爹的排序
  • npm install 安装报错解决指南
  • C#高级进阶---关于插件开发(初版)
  • 字节跳动-生活服务-java后端-一面
  • 深入理解 Vue 3 的双向绑定原理与实现
  • stm32—ADC