欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 旅游 > 记使用Github工作流下载解压重打包Artifacts

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

2024/10/24 20:22:08 来源:https://blog.csdn.net/m0_47587308/article/details/141438712  浏览:    关键词:记使用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

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com