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

https://github.com/veinar/pipelens


https://github.com/veinar/pipelens

Last synced: about 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# πŸš€ Pipelens: Intelligent CI/CD Pipeline Generator

Pipelens is a CLI tool πŸ”§ designed to analyze your project's structure, dependencies, and characteristics, simplifying the creation of workflows tailored to your project’s specific needs. By leveraging ChatGPT (AI) πŸ”₯, Pipelens intelligently generates CI/CD pipelines πŸ”— based on gathered information and templates provided in this repository. For now this tool supports projects in Python, but it modularity guarantees ease of introducing new modern programming languages. πŸ‘Œ

![GitHub License](https://img.shields.io/github/license/Veinar/pipelens)
![Contributions Welcome](https://img.shields.io/badge/contributions%20-%20welcome-blue?labelColor=gray)
![Code style](https://img.shields.io/badge/code%20style-black-black)

![Functionality Impaired](https://img.shields.io/badge/Functionality%20Impaired-orange?style=flat)
![Languages Coverage Needed](https://img.shields.io/badge/Languages%20Coverage%20Needed-purple?style=flat)
![Heavy Workload](https://img.shields.io/badge/Ongoing%20Heavy%20Workload!-gray?style=flat)

## πŸ‘€ Who might be interested in using Pipelens?

Pipelens is ideal for:
- **Developers**: Streamline the setup of CI/CD pipelines for projects of any scale. πŸ‘¨πŸ»β€πŸ’»
- **DevOps Engineers**: Quickly generate workflows for diverse programming languages and frameworks. ♾️
- **Teams**: Automate repetitive pipeline configuration tasks for consistent project deployments. πŸ‘₯

## βš–οΈ Design Principles

1. Modularity for ease of code management,
2. Be the easiest tool to generate Pipelines with AI support.
3. Focus on security and easy auditability/review/rewriting content.

## πŸ›  Installation

> It will be later on uploaded to pypi in order to install it via `pip`

1. Clone the repository:
```bash
git clone https://github.com/Veinar/pipelens.git
```

2. Navigate to the project directory:
```bash
cd pipelens
```

3. Create a virtual environment and activate it:
```bash
python -m venv .venv
source .venv/bin/activate # For Linux/MacOS
.venv\Scripts\activate # For Windows
```

4. Install dependencies:
```bash
pip install -r requirements.txt
# or if you want development tools as well
pip install -r requirements_dev.txt
```
## πŸ”„ Usage

To analyze your project and generate a CI/CD pipeline, run:
```bash
pipelens --platform github --output ./pipeline.yml
```
Flags:

* `--platform `: Specify the CI/CD platform (e.g., github, gitlab, jenkins). Defaults to github.
* `--output `: Specify the output path for the generated pipeline file.
* `--dry-run`: Preview the generated pipeline without writing to a file.
* `--verbose`: Display detailed steps during the analysis.
* `--debug`: Show additional debugging information.

## πŸ’• Contributing

We welcome contributions! To get started:

1. Star and fork this repository.
2. Clone repository from under your own repo list.
3. Create a new branch:
```bash
git checkout -b feature-name
```
4. Make your changes.
5. Push your branch:
```bash
git push origin feature-name
```
5. Create a pull request.

▢️ For more details, see the [CONTRIBUTING.md](CONTRIBUTING.md) file.

## 🀲 Expanding languages

If you know Python and have knowledge about other programming languages (package managers, tools, frameworks etc.)
Please consider adding new language to Pipelens -- instruction [here](docs/adding_language.md).

## πŸ“œ License

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