vela-environment

Explain Vela CI/CD environment variable scoping and substitution syntax.

Updated Mar 7, 2026
One-click install
npx skills add https://github.com/ryanmr/vela-skills --skill vela-environment
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: vela-environment
Source: https://github.com/ryanmr/vela-skills/tree/main/.agents/skills/vela-environment
Command: npx skills add https://github.com/ryanmr/vela-skills --skill vela-environment

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps users understand and effectively utilize environment variables within Vela pipelines, preventing common errors related to compile-time vs. runtime resolution and variable scoping.

Core Features & Use Cases

  • Variable Scoping: Learn to set environment variables globally, at the step level, and understand their precedence.
  • Substitution Syntax: Master ${VAR} for compile-time and $${VAR} for runtime variable expansion.
  • Inter-Step Data: Pass dynamic data between pipeline steps using VELA_OUTPUTS and VELA_MASKED_OUTPUTS.
  • Use Case: Dynamically set build targets or deploy environments based on branch names, or pass sensitive tokens securely between build steps.

Quick Start

Use the vela-environment skill to understand how to pass a build commit SHA as a Docker image tag.

Frequently Asked Questions about vela-environment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do Vela environment variables work in CI/CD pipelines?

Vela environment variables work in CI/CD pipelines through compile-time and runtime substitution, allowing dynamic value resolution within pipeline execution contexts using global and step-level scoping.

What's the difference between compile-time and runtime substitution in Vela?

Compile-time substitution in Vela uses `${VAR}` syntax to expand variables before execution, while runtime substitution uses `$${VAR}` to defer expansion until the pipeline step actually runs.

How do I pass data between steps in a Vela pipeline?

You pass inter-step data in a Vela pipeline using `VELA_OUTPUTS` and `VELA_MASKED_OUTPUTS` variables, enabling dynamic data and sensitive tokens to move securely between build steps.

What is the precedence for global and step-level environment variables in Vela?

Vela environment variables support global and step-level scoping, where step-level variables take precedence over global ones, ensuring step-specific configurations override pipeline-wide defaults.

How do I escape environment variables for dynamic resolution in Vela?

You escape environment variables in Vela using specific escaping mechanisms like `$${VAR}` for runtime expansion, preventing premature compile-time resolution and ensuring dynamic value resolution during pipeline execution.

Can I dynamically set build targets based on branch names using Vela environment variables?

Yes, you can use Vela environment variables and built-in variables to dynamically set build targets or deploy environments based on branch names within your pipeline execution context.