CI/CD Configuration
CI/CD pipelines are defined using YAML configuration files in your repository. Project113's CI/CD system is powered by a modified Woodpecker instance, so the Woodpecker documentation may also be a useful reference for pipeline configuration.
Configuration File
You can define your pipeline in one of two ways:
- Single file — Create a
.project113.ymlfile in the root of your repository. - Directory — Create a
.project113/directory containing multiple YAML files that are combined into a single pipeline definition.
Basic Structure
steps:
build:
image: node:20
commands:
- npm install
- npm run build
test:
image: node:20
commands:
- npm test Steps
Each step in the pipeline runs in its own container. Steps are executed in the order they are defined. If a step fails, subsequent steps are skipped unless configured otherwise.
Triggers
By default, steps run on push events and change request updates. You can restrict a step or
workflow with a when block:
steps:
build:
image: node:20
commands:
- npm run build
when:
branch:
- master
- release/*
event:
- push
- pull_request Environment Variables
Define environment variables for a step using the environment block:
steps:
build:
image: node:20
environment:
NODE_ENV: production
commands:
- echo $NODE_ENV