← Back to all products

CI/CD Pipeline Kit

$29

CI/CD pipeline templates for GitHub Actions, GitLab CI, and Jenkins with multi-env deployment.

📁 10 files
JSONMarkdownPythonDockerGitHub ActionsCI/CD

📄 Product Preview

Try the interactive reader and demo tools below, or get the full product with all content unlocked.

📖 Interactive Reader (Free Preview) ⚙ Try Demo Tools 📦 Download Free Sample

📁 File Structure 10 files

ci-cd-pipeline-kit/ ├── LICENSE ├── README.md ├── examples/ │ ├── node_project.json │ └── project_config.json ├── free-sample.zip ├── guide/ │ ├── 01_features.md │ ├── 02_configuration-reference.md │ └── 03_examples.md ├── index.html └── src/ └── pipeline_generator.py

📖 Documentation Preview README excerpt

CI/CD Pipeline Kit

Part of the Deploy Kit by CodeVault

Generate production-ready GitHub Actions and GitLab CI pipeline configurations from a simple JSON project spec. Stop copy-pasting YAML from Stack Overflow — get correct pipelines in seconds.

Features

  • Generate GitHub Actions workflows (.github/workflows/*.yml)
  • Generate GitLab CI pipelines (.gitlab-ci.yml)
  • Supports Python, Node.js, Go, and Rust project types
  • Built-in stages: lint, test, build, deploy
  • Environment-aware: generates dev, staging, and production deploy jobs
  • Docker build & push steps with configurable registry
  • Caching configured out of the box (pip, npm, cargo, go mod)
  • Secrets and environment variables handled via template placeholders
  • Validates your project config before generating
  • Python stdlib only — zero dependencies

Quick Start


# Generate a GitHub Actions workflow from the example config
python src/pipeline_generator.py --config examples/project_config.json --platform github

# Generate a GitLab CI pipeline instead
python src/pipeline_generator.py --config examples/project_config.json --platform gitlab

# Write output to a file
python src/pipeline_generator.py --config examples/project_config.json --platform github --output .github/workflows/ci.yml

# Validate config without generating
python src/pipeline_generator.py --config examples/project_config.json --validate-only

# Include Docker build steps
python src/pipeline_generator.py --config examples/project_config.json --platform github --docker

Configuration Reference

Create a JSON file with these fields:

FieldTypeRequiredDescription
project_namestringYesProject name (used in workflow naming)
languagestringYespython, node, go, or rust
language_versionstringNoLanguage version (e.g., "3.11", "20")
test_commandstringNoCustom test command (auto-detected if omitted)
lint_commandstringNoCustom lint command
build_commandstringNoCustom build command
branchesarrayNoBranches to trigger CI (default: ["main"])
environmentsarrayNoDeploy environments (e.g., ["staging", "production"])
dockerobjectNoDocker config: registry, image_name, dockerfile
notificationsobjectNoSlack/email notification config
cache_enabledboolNoEnable dependency caching (default: true)
artifactsarrayNoPaths to upload as build artifacts

CLI Reference

| Flag | Description |

... continues with setup instructions, usage examples, and more.

📄 Code Sample .py preview

src/pipeline_generator.py #!/usr/bin/env python3 """ CI/CD Pipeline Generator — Deploy Kit by DataNest Generate production-ready GitHub Actions and GitLab CI pipeline configurations from a simple JSON project specification. Supports Python, Node.js, Go, and Rust projects with built-in caching, Docker builds, and multi-environment deployment stages. Why this exists: Writing CI/CD pipelines from scratch is tedious. You end up copying YAML from docs, fighting indentation, and forgetting to set up caching. This tool generates correct, production-ready pipelines from a simple config so you can focus on shipping code instead of debugging YAML. Usage: python pipeline_generator.py --config project.json --platform github python pipeline_generator.py --config project.json --platform gitlab python pipeline_generator.py --config project.json --platform github --docker License: MIT """ from __future__ import annotations import argparse import json import logging import sys from dataclasses import dataclass, field from pathlib import Path from typing import Any # --------------------------------------------------------------------------- # Constants # --------------------------------------------------------------------------- SUPPORTED_LANGUAGES = {"python", "node", "go", "rust"} SUPPORTED_PLATFORMS = {"github", "gitlab"} # Default commands per language — used when user doesn't specify custom ones LANGUAGE_DEFAULTS: dict[str, dict[str, str]] = { "python": { "version": "3.11", "install": "pip install -r requirements.txt", "lint": "python -m py_compile src/*.py", "test": "python -m pytest tests/ -v", "build": "python -m build", "cache_path": "~/.cache/pip", "cache_key": "pip-${{ hashFiles('requirements.txt') }}", # ... 644 more lines ...
Buy Now — $29 Back to Products