本人github
在 GitHub Actions 中,Artifacts 是一种用于在工作流程运行期间保存文件并在不同的作业间共享或下载的机制。你可以用它来存储构建产物、测试报告、日志文件等。以下是使用 Artifacts 的方法:
1. 创建和上传 Artifacts
在 GitHub Actions 中,你可以使用 actions/upload-artifact
动作来创建和上传 Artifacts。例如,以下代码片段会将 output
文件夹作为 Artifact 上传。
name: Build and Test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run build script
run: |
mkdir output
echo "Hello, World!" > output/hello.txt
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-output # Artifact 名称
path: output # 要保存的文件或文件夹路径
2. 下载 Artifacts
可以通过 GitHub 网站直接下载上传的 Artifacts。在 Actions 页面中,选择某次工作流程运行记录,在相应的作业下会看到上传的 Artifacts,并可以下载。
3. 在作业间共享 Artifacts
Artifacts 可以用于在 GitHub Actions 的不同作业之间共享数据。比如,一个作业可以上传一个 Artifact,另一个作业可以下载并使用它。示例如下:
name: Build and Test
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Create artifact
run: |
mkdir output
echo "Build results" > output/build.txt
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: build-artifact
path: output/
test:
runs-on: ubuntu-latest
needs: build # 依赖 build 作业
steps:
- name: Download artifact
uses: actions/download-artifact@v4
with:
name: build-artifact # 下载名为 build-artifact 的 Artifact
path: ./ # 解压的目录位置
- name: Verify artifact
run: cat output/build.txt # 查看上一步下载的内容
在这个示例中,build
作业会上传一个包含构建结果的 Artifact,test
作业会下载并使用这个 Artifact。
4. 设置 Artifact 的保留期限
默认情况下,Artifact 在 GitHub 上会被保存 90 天。你可以通过 retention-days
参数调整保存时间,范围在 1 到 90 天之间。
- name: Upload artifact with custom retention
uses: actions/upload-artifact@v4
with:
name: build-output
path: output
retention-days: 30 # 保留 30 天
5. 删除 Artifacts
Artifacts 可以通过在仓库设置中手动删除。你也可以使用 GitHub API 自动化管理 Artifact