These demo pipelines are available to demonstrate a valuable structure of a pipeline.
Running a demo pipeline with the Scribe CLI utility (requires mage
):
- Clone and
cd
into the Scribe project:git clone git@github.com:grafana/scribe.git && cd scribe
- Compile the scribe CLI:
mage build
- Run the pipeline:
./bin/scribe ./demo/{demo}
.
Running a demo pipeline without the Scribe CLI:
- Clone and
cd
into the Scribe project:git clone git@github.com:grafana/scribe.git && cd scribe
- Run the pipeline:
PIPELINE=./demo/{pipeline} go run -path=$PIPELINE $PIPELINE
This basic pipeline creates a single pipeline which runs many common steps that most projects might have.
- Background steps
- Caching
- Registering a new client
- Environment Variables
- Event filters / triggers
- Event variables
- Logging
- Multiple pipelines
- Running pipelines in sequence
- Running pipelines in parallel
- Running steps in sequence
- Running steps in parallel
- Running steps with the default
ENTRYPOINT
/CMD
- Secrets
- Sub-pipelines
- Step Arguments
- State Management / Sharing data between steps
- Tracing
This more complex pipeline creates a single pipeline which runs many steps with logs and timeouts. It has many steps and demonstrates a maintainable approach to writing large pipelines and steps that use structured logging and traces.
- Background steps
- Caching
- Registering a new client
- Environment Variables
- Event filters / triggers
- Event variables
- Logging
- Multiple pipelines
- Running pipelines in sequence
- Running pipelines in parallel
- Running steps in sequence
- Running steps in parallel
- Running steps with the default
ENTRYPOINT
/CMD
- Secrets
- Sub-pipelines
- Step Arguments
- State Management / Sharing data between steps
- Tracing
This program creates multiple pipelines which run in sequence; one of which will only run if a commit on the main branch was tagged with a string starting with v
.
- Background steps
- Caching
- Registering a new client
- Environment Variables
- Event filters / triggers
- Event variables
- Logging
- Multiple pipelines
- Running pipelines in sequence
- Running pipelines in parallel
- Running steps in sequence
- Running steps in parallel
- Running steps with the default
ENTRYPOINT
/CMD
- Secrets
- Sub-pipelines
- Step Arguments
- State Management / Sharing data between steps
- Tracing
This program creates multiple pipelines which run in sequence, and one pipeline which runs independently of the others.
- Background steps
- Caching
- Registering a new client
- Environment Variables
- Event filters / triggers
- Event variables
- Logging
- Multiple pipelines
- Running pipelines in sequence
- Running pipelines in parallel
- Running steps in sequence
- Running steps in parallel
- Running steps with the default
ENTRYPOINT
/CMD
- Secrets
- Sub-pipelines
- Step Arguments
- State Management / Sharing data between steps
- Tracing
This program creates a very simple pipeline which demonstrates setting and getting all different kinds of arguments from the state, including files, directories, strings, integers, and floating points.
- Background steps
- Caching
- Registering a new client
- Environment Variables
- Event filters / triggers
- Event variables
- Logging
- Multiple pipelines
- Running pipelines in sequence
- Running pipelines in parallel
- Running steps in sequence
- Running steps in parallel
- Running steps with the default
ENTRYPOINT
/CMD
- Secrets
- Sub-pipelines
- Step Arguments
- State Management / Sharing data between steps
- Tracing
This program creates a very simple pipeline but with a new custom client available.
Use the -client=my-custom-client
to run the pipeline with the custom client.
- Background steps
- Caching
- Registering a new client
- Environment Variables
- Event filters / triggers
- Event variables
- Logging
- Multiple pipelines
- Running pipelines in sequence
- Running pipelines in parallel
- Running steps in sequence
- Running steps in parallel
- Running steps with the default
ENTRYPOINT
/CMD
- Secrets
- Sub-pipelines
- Step Arguments
- State Management / Sharing data between steps
- Tracing