gitlab-ci-artifacts-caching

GitLab CI - Artifacts & Caching

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "gitlab-ci-artifacts-caching" with this command: npx skills add thebushidocollective/han/thebushidocollective-han-gitlab-ci-artifacts-caching

GitLab CI - Artifacts & Caching

Configure artifacts and caching for efficient pipeline execution.

Artifacts

Basic Artifact Configuration

build: script: - npm run build artifacts: paths: - dist/ expire_in: 1 week

Artifact Reports

test: script: - npm test -- --coverage artifacts: reports: junit: junit.xml coverage_report: coverage_format: cobertura path: coverage/cobertura-coverage.xml

Conditional Artifacts

build: artifacts: paths: - dist/ when: on_success # on_success, on_failure, always exclude: - dist/**/*.map

Artifact Dependencies

build: artifacts: paths: - dist/

test: dependencies: - build # Downloads build artifacts script: - npm test

deploy: dependencies: [] # Skip all artifact downloads script: - ./deploy.sh

Caching

Basic Cache Configuration

default: cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ - .npm/

Cache Key Strategies

Per-branch cache

cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/

Lock file based cache

cache: key: files: - package-lock.json paths: - node_modules/

Combined key

cache: key: prefix: ${CI_JOB_NAME} files: - package-lock.json paths: - node_modules/

Cache Policy

install: cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ policy: push # Only upload cache script: - npm ci

test: cache: key: ${CI_COMMIT_REF_SLUG} paths: - node_modules/ policy: pull # Only download cache script: - npm test

Fallback Keys

cache: key: ${CI_COMMIT_REF_SLUG} fallback_keys: - ${CI_DEFAULT_BRANCH} - main paths: - node_modules/

Distributed Cache (S3)

Configure in GitLab Runner:

[runners.cache] Type = "s3" Shared = true [runners.cache.s3] ServerAddress = "s3.amazonaws.com" BucketName = "gitlab-runner-cache" BucketLocation = "us-east-1"

Artifacts vs Cache

Feature Artifacts Cache

Purpose Pass data between jobs Speed up job execution

Storage GitLab server Runner local or S3

Reliability Guaranteed Best effort

Expiration Configurable Configurable

Cross-pipeline Yes (with dependencies) Yes (with keys)

Best Practices

  • Use cache for dependencies (node_modules, vendor)

  • Use artifacts for build outputs

  • Set appropriate expiration times

  • Use lock file-based cache keys

  • Exclude source maps and unnecessary files

  • Use policy: pull for jobs that only read cache

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

android-jetpack-compose

No summary provided by upstream source.

Repository SourceNeeds Review
General

fastapi-async-patterns

No summary provided by upstream source.

Repository SourceNeeds Review
General

storybook-story-writing

No summary provided by upstream source.

Repository SourceNeeds Review