Create Tekton pipelines from a simple YAML file.
The pipeline-generator allows you to define complex CI/CD pipelines using simple YAML configurations. It supports multiple pipeline types, customizable steps, and flexible deployment options.
This project's documentation has been split into several files for better organization:
- Pipeline Examples - Various examples showing how to configure pipelines for different use cases
- Configuration Values - Complete reference of all available configuration options
- Pipeline Definition Schema - The full schema for defining pipelines
Create a YAML file that defines your pipeline (fc-pipelines.yaml
). See the examples for reference.
Before applying your pipeline, validate it using the fc-pipeline-renderer:
# Validate using the remote tekton server
$ docker run -it \
-v $(HOME)/.config/gcloud:/gcp-credentials \
-v $(PWD):/data \
europe-west1-docker.pkg.dev/fc-shared/common/fc-pipeline-renderer:latest \
--type branches \
--pipeline main \
--repository [MY_REPO] \
--ref [MY_BRANCH_OR_TAG] \
--render | kubectl --context [MY_TEKTON_CONTEXT] apply -f - --dry-run=server
This command:
- Mounts your Google Cloud credentials and current directory
- Renders the pipeline configuration
- Performs a dry-run validation against your Kubernetes cluster
To inspect the generated Tekton PipelineRun without applying it:
# Show the tekton pipelinerun
$ docker run -it \
-v $(HOME)/.config/gcloud:/gcp-credentials \
-v $(PWD):/data \
europe-west1-docker.pkg.dev/fc-shared/common/fc-pipeline-renderer:latest \
--type branches \
--pipeline main \
--repository [MY_REPO] \
--ref [MY_BRANCH_OR_TAG] \
--render
Once validated, apply the pipeline to your Kubernetes cluster:
# Launch the pipeline
$ docker run -it \
-v $(HOME)/.config/gcloud:/gcp-credentials \
-v $(PWD):/data \
europe-west1-docker.pkg.dev/fc-shared/common/fc-pipeline-renderer:latest \
--type branches \
--pipeline main \
--repository [MY_REPO] \
--ref [MY_BRANCH_OR_TAG] \
--render | kubectl --context [MY_TEKTON_CONTEXT] apply -f -
- Support for multiple pipeline types: branches, tags, pull requests, and custom
- Automated integration with Git repositories
- Artifact and cache management with GCS bucket integration
- Customizable steps with support for sidecars, volumes, and environment variables
- Email notifications for pipeline status
- Ability to chain pipelines together with the
nextPipeline
feature - Support for multi-file configurations to keep pipeline definitions organized