Product / CI & pipelines / Artifacts

Artifacts: store build outputs and pass files between jobs

Updated November 2026 ยท Artifacts docs โ†’

Store build outputs, logs and reports, pass them between jobs and pipelines, and control how long they are kept.

TL;DR

  • Push files at job, workflow or project level.
  • Pull them in later jobs, pipelines or deploys.
  • Browse and download them in the UI.
  • Set expiry so old artifacts are removed automatically.

Watch: Artifacts

What it does

  • Store data in workflows. Keep logs, screenshots and reports from a job.
  • Transfer data between jobs with workflow-level artifacts, so a build runs once and tests reuse it.
  • Store project deliverables such as release binaries at project level.
  • Browse deliverables from the job, workflow or project page.
  • Custom retention with --expire-in. See artifacts.

How it works

job commands

# build job: share the build with later jobs
artifact push workflow dist/ --expire-in 1w
# test or deploy job
artifact pull workflow dist/
# keep a release binary for the project
artifact push project bin/app --destination releases/app-v1.4.0

Docs for this feature

FAQ

What is the difference between job, workflow and project artifacts?

Job artifacts belong to one job, workflow artifacts are shared by every pipeline in a workflow, and project artifacts are kept across workflows, for example release builds.

Can a deploy pipeline use files from the build?

Yes. Push to workflow level in the build and pull in the deploy pipeline started by a promotion.

How do I delete old artifacts?

Pass –expire-in when you push, for example –expire-in 1w, or set retention policies for the project.

Next steps

Read the Artifacts docs โ†’ ยท All CI & pipelines features โ†’ ยท Plans and pricing โ†’

Star us on GitHub