10 CI/CD Build Configurations You Can Copy and Run Today
- Abhishek Dutta

- Feb 10
- 4 min read
Every BuildNinja customer asks the same question: "Do you have an example for my tech stack?"
Now we do. Ten of them. Each configuration below builds a real open-source project, ranging from a minimal Node.js app to ripgrep (59K+ GitHub stars). You can clone the repository, point BuildNinja to any YAML file, and run your first build in under five minutes.
Quickstart Repository: https://github.com/BuildNinja-CICD/buildninja-quickstart
Quick Reference
Configuration | Stack | Real Project | Requirements |
Node.js | Sample app | Node.js 18+ | |
Rust | ripgrep (59K+ stars) | Rust 1.85+ | |
pnpm/TypeScript | Reactive Resume (25K+ stars) | Node.js 18+, pnpm | |
TypeScript | Meta's Lexical (22K+ stars) | Node.js 18+ | |
Python/Vite | Open WebUI (75K+ stars) | Node.js 18+, Python 3.9+ | |
Java/Ant | Ant sample | JDK 8+, Ant | |
.NET | Web app | .NET SDK 6.0+ | |
Ruby | Ruby app | Ruby 3.0+, Bundler | |
.NET/MSBuild | MSTest app | .NET SDK 8.0, Windows | |
.NET/VSTest | VSTest app | .NET SDK 8.0, Windows |
Node.js with npm
Start here if you're new to BuildNinja. This is the simplest possible configuration to validate your agent setup and YAML workflow.
name: NodeJS_Sample_Build
description: Node.js application with npm
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: main
url: https://github.com/abheekm/node-js-sample.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Install Dependencies
disabled: false
workDir: ""
args:
commands: npm install
continueOnError: false
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- node_modulesRust with Cargo (ripgrep)
Source: https://github.com/BurntSushi/ripgrep (59K+ stars)
Uses --release for optimized binaries. Debug builds can run 10–15× slower for large Rust projects.
name: Rust_Cargo_Build
description: ripgrep - Fast recursive grep written in Rust (59K+ stars)
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: master
url: https://github.com/BurntSushi/ripgrep.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Build Release
disabled: false
workDir: ""
args:
commands: cargo build --release
argsProtected: {}
- key: runner_cmd
name: Run Tests
disabled: false
workDir: ""
args:
commands: cargo test
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- target/releasepnpm Monorepo (Reactive Resume)
Source: https://github.com/AmruthPillai/Reactive-Resume (25K+ stars)
A complex monorepo with a React frontend and NestJS backend. The pnpm build command automatically respects the workspace dependency graph. Database services are not required for this build.
name: Monorepo_PNPM_Build
description: Reactive Resume - Privacy-focused resume builder with 970K+ users
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: main
url: https://github.com/AmruthPillai/Reactive-Resume.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Install Dependencies
disabled: false
workDir: ""
args:
commands: pnpm install
argsProtected: {}
- key: runner_cmd
name: Build
disabled: false
workDir: ""
args:
commands: pnpm build
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- distTypeScript Monorepo (Lexical)
Source: https://github.com/facebook/lexical (22K+ stars)
Meta’s extensible, framework-agnostic text editor framework with WCAG compliance.
name: TypeScript_Lexical_Build
description: Lexical - Meta's extensible text editor framework (22K+ stars)
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: main
url: https://github.com/facebook/lexical.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Install Dependencies
disabled: false
workDir: ""
args:
commands: npm install
argsProtected: {}
- key: runner_cmd
name: Build
disabled: false
workDir: ""
args:
commands: npm run build
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- packagesPython + Vite (Open WebUI)
Source: https://github.com/open-webui/open-webui (75K+ stars)
This configuration builds only the Vite frontend. Backend Python services are not executed.
name: Python_Vite_Build
description: Open WebUI - Self-hosted AI interface with 75K+ stars
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: main
url: https://github.com/open-webui/open-webui.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Install Dependencies
disabled: false
workDir: ""
args:
commands: npm install
argsProtected: {}
- key: runner_cmd
name: Build
disabled: false
workDir: ""
args:
commands: npm run build
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- buildJava with Apache Ant
Designed for enterprise Java environments that still rely on Apache Ant.
name: Apache_Ant_Build
description: Sample Ant-based Java project
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: master
url: https://github.com/piona/ant-sample.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Compile
disabled: false
workDir: ""
args:
commands: ant compile
argsProtected: {}
- key: runner_cmd
name: Build
disabled: false
workDir: ""
args:
commands: ant build
argsProtected: {}
- key: runner_cmd
name: Generate JAR
disabled: false
workDir: ""
args:
commands: ant jar
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- buildASP.NET Core
A minimal .NET build using a single command.
name: ASP_NET_Core_Build
description: ASP.NET Core web application build
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: qa
url: https://github.com/abheekm/ASP_NET_Core_App.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Build Solution
disabled: false
workDir: ""
args:
commands: dotnet build ASP_NET_Core_App.sln
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- bin
- objRuby with RSpec
Ruby build using Bundler and RSpec tests. Gems are installed globally for demonstration purposes. In production, prefer managing dependencies through the Gemfile.
name: Ruby_RSpec_Build
description: Ruby application with RSpec tests
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: main
url: https://github.com/abheekm/Ruby_App.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Bundle Install
disabled: false
workDir: ""
args:
commands: bundle install
argsProtected: {}
- key: runner_cmd
name: Install RSpec
disabled: false
workDir: ""
args:
commands: gem install rspec
continueOnError: false
argsProtected: {}
- key: runner_cmd
name: Install Unit Gem
disabled: false
workDir: ""
args:
commands: gem install unit
continueOnError: false
argsProtected: {}
- key: runner_cmd
name: Run Tests
disabled: false
workDir: ""
args:
commands: rspec ./spec/calculator_spec.rb
continueOnError: false
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- spec.NET with MSBuild Runner
BuildNinja's runner_msbuild provides native Visual Studio solution integration with better diagnostics than dotnet build.
name: MSBuild_Runner_Demo
description: MSBuild runner demonstration
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: main
url: https://github.com/abheekm/MSTest_Runner_App.git
argsProtected: {}
build-steps:
- key: runner_msbuild
name: Build Solution
disabled: false
workDir: ""
args:
solution: MSTest_Runner_App.sln
configuration: Debug
parameters: ""
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- bin.NET with VSTest Runner
BuildNinja's runner_vstest executes tests with automatic TRX report generation.
name: VSTest_Runner_Build
description: .NET build demonstrating VSTest runner
version: 1.0
settings:
vcs-steps:
- key: vcs_git
name: Checkout Repository
disabled: false
args:
authType: anonymous
branch: master
url: https://github.com/abheekm/VSTest_Runner_App.git
argsProtected: {}
build-steps:
- key: runner_cmd
name: Build Solution
disabled: false
workDir: ""
args:
commands: dotnet build VSTest_Runner_App.sln
argsProtected: {}
- key: runner_vstest
name: Run VSTest
disabled: false
workDir: ""
args:
testAssembly: bin\Debug\net8.0\VSTest_Runner_App.dll
argsProtected: {}
artifacts:
- name: Build Output
condition: buildSucceeds
paths:
- bin
- TestResultsHow to Run These Configurations
Install and start BuildNinja.
docker pull grapehub/buildninja-server:1.0.0
docker pull grapehub/buildninja-agent:1.0.0Clone the quickstart repository.
Create a build in BuildNinja UI.
Open http://localhost:8800.
Go to Projects → New Build Configuration.
Add VCS Settings in the UI → point to the cloned repository.
Add Execution Step → Config File Runner.
Enter path: nodejs-sample/buildninja.yaml.
Click Run Build.
New to BuildNinja?
If you haven’t installed BuildNinja yet, follow Setting Up BuildNinja in 5 Minutes: A Complete CI/CD Guide for Modern Developers to get the server and agent running before trying these configurations.
Note: VCS settings such as repository URL, branch, and authentication are configured through the BuildNinja UI only. The YAML configuration files control build execution, runners, and artifacts.
Resources
Questions or Feedback?
Contact us at hello@grapehub.io.
All sample configurations are MIT licensed. Source projects retain their respective licenses.




Comments