Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/oneananda/ci-cd-pipeline-debugger

CI-CD-Pipeline-Debugger
https://github.com/oneananda/ci-cd-pipeline-debugger

Last synced: about 1 month ago
JSON representation

CI-CD-Pipeline-Debugger

Awesome Lists containing this project

README

        

# CI/CD Pipeline Debugger

A platform-agnostic debugging tool for CI/CD pipelines, written in C#. This tool helps developers and DevOps teams identify and resolve issues in their CI/CD pipelines across multiple platforms like GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and more.

## Features

- **Pipeline Visualization**:
- Interactive representation of pipeline stages, jobs, and tasks.
- **Error Diagnosis**:
- Real-time log streaming and error tracing.
- Syntax error and misconfiguration detection.
- **Environment Emulation**:
- Simulate pipeline runs locally to debug issues before pushing.
- **Configuration Validation**:
- Validate pipeline configuration files against schema definitions.
- **Multi-Platform Support**:
- Supports GitHub Actions, GitLab CI, Jenkins, Azure DevOps, and custom CI/CD tools.
- **Extensibility**:
- Plugin support for additional debugging tools and integrations.
- **Secure Handling**:
- Mask sensitive data in logs and identify hard-coded secrets.

## Getting Started

### Prerequisites

- **.NET SDK**: [.NET 7+](https://dotnet.microsoft.com/download)
- A compatible operating system: Windows, macOS, or Linux

### Installation

1. Clone the repository:
```bash
git clone https://github.com/oneananda/ci-cd-pipeline-debugger.git
```
2. Navigate to the project directory:
```bash
cd ci-cd-pipeline-debugger
```
3. Build the project:
```bash
dotnet build
```

### Usage

#### Command-Line Interface (CLI)
Run the tool via the CLI to debug a pipeline configuration:
```bash
dotnet run --file path/to/pipeline.yml
```

#### Sample Commands
- Validate a pipeline configuration:
```bash
dotnet run --validate --file path/to/pipeline.yml
```
- Debug a pipeline locally:
```bash
dotnet run --debug --file path/to/pipeline.yml
```
- Generate a report:
```bash
dotnet run --report --file path/to/pipeline.yml --output report.json
```

## Directory Structure

```
ci-cd-pipeline-debugger/

├── src/ # Core library and application code
├── tests/ # Unit and integration tests
├── docs/ # Documentation and guides
├── samples/ # Sample pipeline configurations
├── plugins/ # Plugins for additional functionality
└── build/ # Build scripts and CI/CD setup
```

## Roadmap

- [ ] Add AI-powered error suggestions
- [ ] Enhance pipeline visualization with a GUI
- [ ] Support for more CI/CD platforms
- [ ] Dockerized environment for easier testing
- [ ] Metrics dashboard for performance analysis

## Contributing

We welcome contributions from the community! Please follow the [contribution guidelines](CONTRIBUTING.md) to get started.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Acknowledgments

- Inspired by the need for better debugging tools in modern CI/CD workflows.
- Contributions from the open-source community.